home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / Quickdraw.a < prev    next >
Text File  |  1996-05-01  |  61KB  |  2,727 lines

  1. ;
  2. ;    File:        Quickdraw.a
  3. ;
  4. ;    Contains:    Quickdraw Graphics Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  19. __QUICKDRAW__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  25.     include 'MixedMode.a'
  26.     ENDIF
  27.     IF &TYPE('__QUICKDRAWTEXT__') = 'UNDEFINED' THEN
  28.     include 'QuickdrawText.a'
  29.     ENDIF
  30. RGBColor                RECORD 0
  31. red                         ds.w    1                ; offset: $0 (0)        ; magnitude of red component
  32. green                     ds.w    1                ; offset: $2 (2)        ; magnitude of green component
  33. blue                     ds.w    1                ; offset: $4 (4)        ; magnitude of blue component
  34. sizeof                     EQU *                    ; size:   $6 (6)
  35.                         ENDR
  36. ; typedef struct RGBColor *                RGBColorPtr
  37.  
  38. ; typedef RGBColorPtr *                    RGBColorHdl
  39.  
  40. ColorSpec                RECORD 0
  41. value                     ds.w    1                ; offset: $0 (0)        ; index or other value
  42. rgb                         ds        RGBColor        ; offset: $2 (2)        ; true color
  43. sizeof                     EQU *                    ; size:   $8 (8)
  44.                         ENDR
  45. ; typedef struct ColorSpec *            ColorSpecPtr
  46.  
  47. CSpecArray                RECORD 0
  48. elements                 ds.b    1 * ColorSpec.sizeof
  49. sizeof                     EQU *                    ; size:   $8 (8)
  50.                         ENDR
  51.  
  52.  
  53. ColorTable                RECORD 0
  54. ctSeed                     ds.l    1                ; offset: $0 (0)        ; unique identifier for table
  55. ctFlags                     ds.w    1                ; offset: $4 (4)        ; high bit: 0 = PixMap; 1 = device
  56. ctSize                     ds.w    1                ; offset: $6 (6)        ; number of entries in CTTable
  57. ctTable                     ds        CSpecArray        ; offset: $8 (8)        ; array [0..0] of ColorSpec
  58. sizeof                     EQU *                    ; size:   $10 (16)
  59.                         ENDR
  60. ; typedef struct ColorTable *            CTabPtr
  61.  
  62. ; typedef CTabPtr *                        CTabHandle
  63.  
  64. xColorSpec                RECORD 0
  65. value                     ds.w    1                ; offset: $0 (0)        ; index or other value
  66. rgb                         ds        RGBColor        ; offset: $2 (2)        ; true color
  67. xalpha                     ds.w    1                ; offset: $8 (8)
  68. sizeof                     EQU *                    ; size:   $A (10)
  69.                         ENDR
  70. ; typedef struct xColorSpec *            xColorSpecPtr
  71.  
  72. xCSpecArray                RECORD 0
  73. elements                 ds.b    1 * xColorSpec.sizeof
  74. sizeof                     EQU *                    ; size:   $A (10)
  75.                         ENDR
  76.  
  77.  
  78. GammaTbl                RECORD 0
  79. gVersion                 ds.w    1                ; offset: $0 (0)        ; gamma version number
  80. gType                     ds.w    1                ; offset: $2 (2)        ; gamma data type
  81. gFormulaSize             ds.w    1                ; offset: $4 (4)        ; Formula data size
  82. gChanCnt                 ds.w    1                ; offset: $6 (6)        ; number of channels of data
  83. gDataCnt                 ds.w    1                ; offset: $8 (8)        ; number of values/channel
  84. gDataWidth                 ds.w    1                ; offset: $A (10)        ; bits/corrected value (data packed to next larger byte size)
  85. gFormulaData             ds.w    1                ; offset: $C (12) <-- really an array of length one ; data for formulas followed by gamma values
  86. sizeof                     EQU *                    ; size:   $E (14)
  87.                         ENDR
  88. ; typedef struct GammaTbl *                GammaTblPtr
  89.  
  90. ; typedef GammaTblPtr *                    GammaTblHandle
  91.  
  92. Bits16                    RECORD 0
  93. elements                 ds.w    16
  94. sizeof                     EQU *                    ; size:   $20 (32)
  95.                         ENDR
  96.  
  97.  
  98. Cursor                    RECORD 0
  99. data                     ds        Bits16            ; offset: $0 (0)
  100. mask                     ds        Bits16            ; offset: $20 (32)
  101. hotSpot                     ds        Point            ; offset: $40 (64)
  102. sizeof                     EQU *                    ; size:   $44 (68)
  103.                         ENDR
  104. ; typedef struct Cursor *                CursPtr
  105.  
  106. ; typedef CursPtr *                        CursHandle
  107.  
  108.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  109.  
  110. invalColReq                        EQU        -1                    ;invalid color table request
  111.                                                             ; transfer modes 
  112. srcCopy                            EQU        0                    ;the 16 transfer modes
  113. srcOr                            EQU        1
  114. srcXor                            EQU        2
  115. srcBic                            EQU        3
  116. notSrcCopy                        EQU        4
  117. notSrcOr                        EQU        5
  118. notSrcXor                        EQU        6
  119. notSrcBic                        EQU        7
  120. patCopy                            EQU        8
  121. patOr                            EQU        9
  122. patXor                            EQU        10
  123. patBic                            EQU        11
  124. notPatCopy                        EQU        12
  125. notPatOr                        EQU        13
  126. notPatXor                        EQU        14
  127. notPatBic                        EQU        15                    ; Special Text Transfer Mode 
  128. grayishTextOr                    EQU        49
  129. hilitetransfermode                EQU        50
  130. hilite                            EQU        50                    ; Arithmetic transfer modes 
  131. blend                            EQU        32
  132. addPin                            EQU        33
  133.  
  134. addOver                            EQU        34
  135. subPin                            EQU        35
  136. addMax                            EQU        37
  137. adMax                            EQU        37
  138. subOver                            EQU        38
  139. adMin                            EQU        39
  140. ditherCopy                        EQU        64                    ; Transparent mode constant 
  141. transparent                        EQU        36
  142. italicBit                        EQU        1
  143. ulineBit                        EQU        2
  144. outlineBit                        EQU        3
  145. shadowBit                        EQU        4
  146. condenseBit                        EQU        5
  147. extendBit                        EQU        6                    ; QuickDraw color separation constants 
  148. normalBit                        EQU        0                    ;normal screen mapping
  149. inverseBit                        EQU        1                    ;inverse screen mapping
  150. redBit                            EQU        4                    ;RGB additive mapping
  151. greenBit                        EQU        3
  152. blueBit                            EQU        2
  153. cyanBit                            EQU        8                    ;CMYBk subtractive mapping
  154. magentaBit                        EQU        7
  155. yellowBit                        EQU        6
  156. blackBit                        EQU        5
  157. blackColor                        EQU        33                    ;colors expressed in these mappings
  158. whiteColor                        EQU        30
  159. redColor                        EQU        205
  160.  
  161. greenColor                        EQU        341
  162. blueColor                        EQU        409
  163. cyanColor                        EQU        273
  164. magentaColor                    EQU        137
  165. yellowColor                        EQU        69
  166. picLParen                        EQU        0                    ;standard picture comments
  167. picRParen                        EQU        1
  168. clutType                        EQU        0                    ;0 if lookup table
  169. fixedType                        EQU        1                    ;1 if fixed table
  170. directType                        EQU        2                    ;2 if direct values
  171. gdDevType                        EQU        0                    ;0 = monochrome 1 = color
  172.  
  173. interlacedDevice                EQU        2                    ; 1 if single pixel lines look bad 
  174. roundedDevice                    EQU        5                    ; 1 if device has been ``rounded'' into the GrayRgn 
  175. hasAuxMenuBar                    EQU        6                    ; 1 if device has an aux menu bar on it 
  176. burstDevice                        EQU        7
  177. ext32Device                        EQU        8
  178. ramInit                            EQU        10                    ;1 if initialized from 'scrn' resource
  179. mainScreen                        EQU        11                    ; 1 if main screen 
  180. allInit                            EQU        12                    ; 1 if all devices initialized 
  181. screenDevice                    EQU        13                    ;1 if screen device [not used]
  182. noDriver                        EQU        14                    ; 1 if no driver for this GDevice 
  183. screenActive                    EQU        15                    ;1 if in use
  184. hiliteBit                        EQU        7                    ;flag bit in HiliteMode (lowMem flag)
  185. pHiliteBit                        EQU        0                    ;flag bit in HiliteMode used with BitClr procedure
  186. defQDColors                        EQU        127                    ;resource ID of clut for default QDColors
  187.                                                             ; pixel type 
  188. RGBDirect                        EQU        16                    ; 16 & 32 bits/pixel pixelType value 
  189.                                                             ; pmVersion values 
  190. baseAddr32                        EQU        4                    ;pixmap base address is 32-bit address
  191.  
  192. sysPatListID                    EQU        0
  193. iBeamCursor                        EQU        1
  194. crossCursor                        EQU        2
  195. plusCursor                        EQU        3
  196. watchCursor                        EQU        4
  197.  
  198. kQDGrafVerbFrame                EQU        0
  199. kQDGrafVerbPaint                EQU        1
  200. kQDGrafVerbErase                EQU        2
  201. kQDGrafVerbInvert                EQU        3
  202. kQDGrafVerbFill                    EQU        4
  203.     IF OLDROUTINENAMES THEN
  204.  
  205. frame                            EQU        0
  206. paint                            EQU        1
  207. erase                            EQU        2
  208. invert                            EQU        3
  209. fill                            EQU        4
  210.     ENDIF
  211. ; typedef SInt8                         GrafVerb
  212.  
  213.  
  214. chunky                            EQU        0
  215. chunkyPlanar                    EQU        1
  216. planar                            EQU        2
  217. ; typedef SInt8                         PixelType
  218.  
  219. ;
  220. ;**************   IMPORTANT NOTE REGARDING Pattern  **************************************
  221. ;   Patterns were originally defined as:
  222. ;   
  223. ;        C:             typedef unsigned char Pattern[8];
  224. ;        Pascal:        Pattern = PACKED ARRAY [0..7] OF 0..255;
  225. ;        
  226. ;   The old array defintion of Pattern would cause 68000 based CPU's to crash in certain circum-
  227. ;   stances. The new struct definition is safe, but may require source code changes to compile.
  228. ;   Read the details in TechNote "Platforms & Tools" #PT 38.
  229. ;    
  230. ;********************************************************************************************
  231. ;
  232. Pattern                    RECORD 0
  233. pat                         ds.b    8                ; offset: $0 (0)
  234. sizeof                     EQU *                    ; size:   $8 (8)
  235.                         ENDR
  236. ;
  237. ; ConstPatternParam is now longer needed.  It was first created when Pattern was an array.
  238. ; Now that Pattern is a struct, it is more straight forward just add the "const" qualifier
  239. ; on the parameter type (e.g. "const Pattern * pat" instead of "ConstPatternParam pat").
  240. ;
  241. ; typedef struct Pattern *                PatPtr
  242.  
  243. ; typedef PatPtr *                        PatHandle
  244.  
  245. ; typedef short                         QDErr
  246.  
  247.  
  248. singleDevicesBit                EQU        0
  249. dontMatchSeedsBit                EQU        1
  250. allDevicesBit                    EQU        2
  251.  
  252. singleDevices                    EQU        $01
  253. dontMatchSeeds                    EQU        $02
  254. allDevices                        EQU        $04
  255. ; typedef unsigned long                 DeviceLoopFlags
  256.  
  257. BitMap                    RECORD 0
  258. baseAddr                 ds.l    1                ; offset: $0 (0)
  259. rowBytes                 ds.w    1                ; offset: $4 (4)
  260. bounds                     ds        Rect            ; offset: $6 (6)
  261. sizeof                     EQU *                    ; size:   $E (14)
  262.                         ENDR
  263. ; typedef struct BitMap *                BitMapPtr
  264.  
  265. ; typedef BitMapPtr *                    BitMapHandle
  266.  
  267. PenState                RECORD 0
  268. pnLoc                     ds        Point            ; offset: $0 (0)
  269. pnSize                     ds        Point            ; offset: $4 (4)
  270. pnMode                     ds.w    1                ; offset: $8 (8)
  271. pnPat                     ds        Pattern            ; offset: $A (10)
  272. sizeof                     EQU *                    ; size:   $12 (18)
  273.                         ENDR
  274. Region                    RECORD 0
  275. rgnSize                     ds.w    1                ; offset: $0 (0)        ; size in bytes
  276. rgnBBox                     ds        Rect            ; offset: $2 (2)        ; enclosing rectangle
  277. sizeof                     EQU *                    ; size:   $A (10)
  278.                         ENDR
  279. ; typedef struct Region *                RgnPtr
  280.  
  281. ; typedef RgnPtr *                        RgnHandle
  282.  
  283. Picture                    RECORD 0
  284. picSize                     ds.w    1                ; offset: $0 (0)
  285. picFrame                 ds        Rect            ; offset: $2 (2)
  286. sizeof                     EQU *                    ; size:   $A (10)
  287.                         ENDR
  288. ; typedef struct Picture *                PicPtr
  289.  
  290. ; typedef PicPtr *                        PicHandle
  291.  
  292. Polygon                    RECORD 0
  293. polySize                 ds.w    1                ; offset: $0 (0)
  294. polyBBox                 ds        Rect            ; offset: $2 (2)
  295. polyPoints                 ds        Point            ; offset: $A (10) <-- really an array of length one
  296. sizeof                     EQU *                    ; size:   $E (14)
  297.                         ENDR
  298. ; typedef struct Polygon *                PolyPtr
  299.  
  300. ; typedef PolyPtr *                        PolyHandle
  301.  
  302. QDProcs                    RECORD 0
  303. textProc                 ds.l    1                ; offset: $0 (0)
  304. lineProc                 ds.l    1                ; offset: $4 (4)
  305. rectProc                 ds.l    1                ; offset: $8 (8)
  306. rRectProc                 ds.l    1                ; offset: $C (12)
  307. ovalProc                 ds.l    1                ; offset: $10 (16)
  308. arcProc                     ds.l    1                ; offset: $14 (20)
  309. polyProc                 ds.l    1                ; offset: $18 (24)
  310. rgnProc                     ds.l    1                ; offset: $1C (28)
  311. bitsProc                 ds.l    1                ; offset: $20 (32)
  312. commentProc                 ds.l    1                ; offset: $24 (36)
  313. txMeasProc                 ds.l    1                ; offset: $28 (40)
  314. getPicProc                 ds.l    1                ; offset: $2C (44)
  315. putPicProc                 ds.l    1                ; offset: $30 (48)
  316. sizeof                     EQU *                    ; size:   $34 (52)
  317.                         ENDR
  318. ; typedef struct QDProcs *                QDProcsPtr
  319.  
  320. GrafPort                RECORD 0
  321. device                     ds.w    1                ; offset: $0 (0)
  322. portBits                 ds        BitMap            ; offset: $2 (2)
  323. portRect                 ds        Rect            ; offset: $10 (16)
  324. visRgn                     ds.l    1                ; offset: $18 (24)
  325. clipRgn                     ds.l    1                ; offset: $1C (28)
  326. bkPat                     ds        Pattern            ; offset: $20 (32)
  327. fillPat                     ds        Pattern            ; offset: $28 (40)
  328. pnLoc                     ds        Point            ; offset: $30 (48)
  329. pnSize                     ds        Point            ; offset: $34 (52)
  330. pnMode                     ds.w    1                ; offset: $38 (56)
  331. pnPat                     ds        Pattern            ; offset: $3A (58)
  332. pnVis                     ds.w    1                ; offset: $42 (66)
  333. txFont                     ds.w    1                ; offset: $44 (68)
  334. txFace                     ds.w    1                ; offset: $46 (70)        ; StyleField occupies 16-bits, but only first 8-bits are used
  335. txMode                     ds.w    1                ; offset: $48 (72)
  336. txSize                     ds.w    1                ; offset: $4A (74)
  337. spExtra                     ds.l    1                ; offset: $4C (76)
  338. fgColor                     ds.l    1                ; offset: $50 (80)
  339. bkColor                     ds.l    1                ; offset: $54 (84)
  340. colrBit                     ds.w    1                ; offset: $58 (88)
  341. patStretch                 ds.w    1                ; offset: $5A (90)
  342. picSave                     ds.l    1                ; offset: $5C (92)
  343. rgnSave                     ds.l    1                ; offset: $60 (96)
  344. polySave                 ds.l    1                ; offset: $64 (100)
  345. grafProcs                 ds.l    1                ; offset: $68 (104)
  346. sizeof                     EQU *                    ; size:   $6C (108)
  347.                         ENDR
  348. ; typedef struct GrafPort *                GrafPtr
  349.  
  350. ;
  351. ; *    This set of definitions "belongs" in Windows.
  352. ; *    But, there is a circularity in the headers where Windows includes Controls and
  353. ; *    Controls includes Windows. To break the circle, the information
  354. ; *    needed by Controls is moved from Windows to Quickdraw.
  355. ;
  356. ; typedef GrafPtr                         WindowPtr
  357.  
  358. ; typedef WindowPtr                     WindowRef
  359.  
  360. ; typedef WindowPtr                     DialogPtr
  361.  
  362. ;  DragConstraint constants to pass to DragGray,DragTheRgn, or ConstrainedDragRgn
  363. ; typedef UInt16                         DragConstraint
  364.  
  365.  
  366. kNoConstraint                    EQU        0
  367. kVerticalConstraint                EQU        1
  368. kHorizontalConstraint            EQU        2
  369. ;
  370. ; *    Here ends the list of things that "belong" in Windows.
  371. ;
  372. MatchRec                RECORD 0
  373. red                         ds.w    1                ; offset: $0 (0)
  374. green                     ds.w    1                ; offset: $2 (2)
  375. blue                     ds.w    1                ; offset: $4 (4)
  376. matchData                 ds.l    1                ; offset: $6 (6)
  377. sizeof                     EQU *                    ; size:   $A (10)
  378.                         ENDR
  379. PixMap                    RECORD 0
  380. baseAddr                 ds.l    1                ; offset: $0 (0)        ; pointer to pixels
  381. rowBytes                 ds.w    1                ; offset: $4 (4)        ; offset to next line
  382. bounds                     ds        Rect            ; offset: $6 (6)        ; encloses bitmap
  383. pmVersion                 ds.w    1                ; offset: $E (14)        ; pixMap version number
  384. packType                 ds.w    1                ; offset: $10 (16)        ; defines packing format
  385. packSize                 ds.l    1                ; offset: $12 (18)        ; length of pixel data
  386. hRes                     ds.l    1                ; offset: $16 (22)        ; horiz. resolution (ppi)
  387. vRes                     ds.l    1                ; offset: $1A (26)        ; vert. resolution (ppi)
  388. pixelType                 ds.w    1                ; offset: $1E (30)        ; defines pixel type
  389. pixelSize                 ds.w    1                ; offset: $20 (32)        ; # bits in pixel
  390. cmpCount                 ds.w    1                ; offset: $22 (34)        ; # components in pixel
  391. cmpSize                     ds.w    1                ; offset: $24 (36)        ; # bits per component
  392. planeBytes                 ds.l    1                ; offset: $26 (38)        ; offset to next plane
  393. pmTable                     ds.l    1                ; offset: $2A (42)        ; color map for this pixMap
  394. pmReserved                 ds.l    1                ; offset: $2E (46)        ; for future use. MUST BE 0
  395. sizeof                     EQU *                    ; size:   $32 (50)
  396.                         ENDR
  397. ; typedef struct PixMap *                PixMapPtr
  398.  
  399. ; typedef PixMapPtr *                    PixMapHandle
  400.  
  401. PixPat                    RECORD 0
  402. patType                     ds.w    1                ; offset: $0 (0)        ; type of pattern
  403. patMap                     ds.l    1                ; offset: $2 (2)        ; the pattern's pixMap
  404. patData                     ds.l    1                ; offset: $6 (6)        ; pixmap's data
  405. patXData                 ds.l    1                ; offset: $A (10)        ; expanded Pattern data
  406. patXValid                 ds.w    1                ; offset: $E (14)        ; flags whether expanded Pattern valid
  407. patXMap                     ds.l    1                ; offset: $10 (16)        ; Handle to expanded Pattern data
  408. pat1Data                 ds        Pattern            ; offset: $14 (20)        ; old-Style pattern/RGB color
  409. sizeof                     EQU *                    ; size:   $1C (28)
  410.                         ENDR
  411. ; typedef struct PixPat *                PixPatPtr
  412.  
  413. ; typedef PixPatPtr *                    PixPatHandle
  414.  
  415. CCrsr                    RECORD 0
  416. crsrType                 ds.w    1                ; offset: $0 (0)        ; type of cursor
  417. crsrMap                     ds.l    1                ; offset: $2 (2)        ; the cursor's pixmap
  418. crsrData                 ds.l    1                ; offset: $6 (6)        ; cursor's data
  419. crsrXData                 ds.l    1                ; offset: $A (10)        ; expanded cursor data
  420. crsrXValid                 ds.w    1                ; offset: $E (14)        ; depth of expanded data (0 if none)
  421. crsrXHandle                 ds.l    1                ; offset: $10 (16)        ; future use
  422. crsr1Data                 ds        Bits16            ; offset: $14 (20)        ; one-bit cursor
  423. crsrMask                 ds        Bits16            ; offset: $34 (52)        ; cursor's mask
  424. crsrHotSpot                 ds        Point            ; offset: $54 (84)        ; cursor's hotspot
  425. crsrXTable                 ds.l    1                ; offset: $58 (88)        ; private
  426. crsrID                     ds.l    1                ; offset: $5C (92)        ; private
  427. sizeof                     EQU *                    ; size:   $60 (96)
  428.                         ENDR
  429. ; typedef struct CCrsr *                CCrsrPtr
  430.  
  431. ; typedef CCrsrPtr *                    CCrsrHandle
  432.  
  433.     IF OLDROUTINELOCATIONS THEN
  434. CIcon                    RECORD 0
  435. iconPMap                 ds        PixMap            ; offset: $0 (0)        ; the icon's pixMap
  436. iconMask                 ds        BitMap            ; offset: $32 (50)        ; the icon's mask
  437. iconBMap                 ds        BitMap            ; offset: $40 (64)        ; the icon's bitMap
  438. iconData                 ds.l    1                ; offset: $4E (78)        ; the icon's data
  439. iconMaskData             ds.w    1                ; offset: $52 (82) <-- really an array of length one ; icon's mask and BitMap data
  440. sizeof                     EQU *                    ; size:   $54 (84)
  441.                         ENDR
  442. ; typedef struct CIcon *                CIconPtr
  443.  
  444. ; typedef CIconPtr *                    CIconHandle
  445.  
  446.     ENDIF
  447. ITab                    RECORD 0
  448. iTabSeed                 ds.l    1                ; offset: $0 (0)        ; copy of CTSeed from source CTable
  449. iTabRes                     ds.w    1                ; offset: $4 (4)        ; bits/channel resolution of iTable
  450. iTTable                     ds.b    1                ; offset: $6 (6) <-- really an array of length one ; byte colortable index values
  451.                          ORG 8
  452. sizeof                     EQU *                    ; size:   $8 (8)
  453.                         ENDR
  454. ; typedef struct ITab *                    ITabPtr
  455.  
  456. ; typedef ITabPtr *                        ITabHandle
  457.  
  458. SProcRec                RECORD 0
  459. nxtSrch                     ds.l    1                ; offset: $0 (0)        ; SProcHndl Handle to next SProcRec
  460. srchProc                 ds.l    1                ; offset: $4 (4)        ; search procedure proc ptr
  461. sizeof                     EQU *                    ; size:   $8 (8)
  462.                         ENDR
  463. ; typedef struct SProcRec *                SProcPtr
  464.  
  465. ; typedef SProcPtr *                    SProcHndl
  466.  
  467. CProcRec                RECORD 0
  468. nxtComp                     ds.l    1                ; offset: $0 (0)        ; CProcHndl Handle to next CProcRec
  469. compProc                 ds.l    1                ; offset: $4 (4)        ; complement procedure proc ptr
  470. sizeof                     EQU *                    ; size:   $8 (8)
  471.                         ENDR
  472. ; typedef struct CProcRec *                CProcPtr
  473.  
  474. ; typedef CProcPtr *                    CProcHndl
  475.  
  476. GDevice                    RECORD 0
  477. gdRefNum                 ds.w    1                ; offset: $0 (0)        ; driver's unit number
  478. gdID                     ds.w    1                ; offset: $2 (2)        ; client ID for search procs
  479. gdType                     ds.w    1                ; offset: $4 (4)        ; fixed/CLUT/direct
  480. gdITable                 ds.l    1                ; offset: $6 (6)        ; Handle to inverse lookup table
  481. gdResPref                 ds.w    1                ; offset: $A (10)        ; preferred resolution of GDITable
  482. gdSearchProc             ds.l    1                ; offset: $C (12)        ; search proc list head
  483. gdCompProc                 ds.l    1                ; offset: $10 (16)        ; complement proc list
  484. gdFlags                     ds.w    1                ; offset: $14 (20)        ; grafDevice flags word
  485. gdPMap                     ds.l    1                ; offset: $16 (22)        ; describing pixMap
  486. gdRefCon                 ds.l    1                ; offset: $1A (26)        ; reference value
  487. gdNextGD                 ds.l    1                ; offset: $1E (30)        ; GDHandle Handle of next gDevice
  488. gdRect                     ds        Rect            ; offset: $22 (34)        ;  device's bounds in global coordinates
  489. gdMode                     ds.l    1                ; offset: $2A (42)        ; device's current mode
  490. gdCCBytes                 ds.w    1                ; offset: $2E (46)        ; depth of expanded cursor data
  491. gdCCDepth                 ds.w    1                ; offset: $30 (48)        ; depth of expanded cursor data
  492. gdCCXData                 ds.l    1                ; offset: $32 (50)        ; Handle to cursor's expanded data
  493. gdCCXMask                 ds.l    1                ; offset: $36 (54)        ; Handle to cursor's expanded mask
  494. gdReserved                 ds.l    1                ; offset: $3A (58)        ; future use. MUST BE 0
  495. sizeof                     EQU *                    ; size:   $3E (62)
  496.                         ENDR
  497. ; typedef struct GDevice *                GDPtr
  498.  
  499. ; typedef GDPtr *                        GDHandle
  500.  
  501. GrafVars                RECORD 0
  502. rgbOpColor                 ds        RGBColor        ; offset: $0 (0)        ; color for addPin  subPin and average
  503. rgbHiliteColor             ds        RGBColor        ; offset: $6 (6)        ; color for hiliting
  504. pmFgColor                 ds.l    1                ; offset: $C (12)        ; palette Handle for foreground color
  505. pmFgIndex                 ds.w    1                ; offset: $10 (16)        ; index value for foreground
  506. pmBkColor                 ds.l    1                ; offset: $12 (18)        ; palette Handle for background color
  507. pmBkIndex                 ds.w    1                ; offset: $16 (22)        ; index value for background
  508. pmFlags                     ds.w    1                ; offset: $18 (24)        ; flags for Palette Manager
  509. sizeof                     EQU *                    ; size:   $1A (26)
  510.                         ENDR
  511. ; typedef struct GrafVars *                GVarPtr
  512.  
  513. ; typedef GVarPtr *                        GVarHandle
  514.  
  515. CQDProcs                RECORD 0
  516. textProc                 ds.l    1                ; offset: $0 (0)
  517. lineProc                 ds.l    1                ; offset: $4 (4)
  518. rectProc                 ds.l    1                ; offset: $8 (8)
  519. rRectProc                 ds.l    1                ; offset: $C (12)
  520. ovalProc                 ds.l    1                ; offset: $10 (16)
  521. arcProc                     ds.l    1                ; offset: $14 (20)
  522. polyProc                 ds.l    1                ; offset: $18 (24)
  523. rgnProc                     ds.l    1                ; offset: $1C (28)
  524. bitsProc                 ds.l    1                ; offset: $20 (32)
  525. commentProc                 ds.l    1                ; offset: $24 (36)
  526. txMeasProc                 ds.l    1                ; offset: $28 (40)
  527. getPicProc                 ds.l    1                ; offset: $2C (44)
  528. putPicProc                 ds.l    1                ; offset: $30 (48)
  529. opcodeProc                 ds.l    1                ; offset: $34 (52)        ; fields added to QDProcs
  530. newProc1                 ds.l    1                ; offset: $38 (56)
  531. newProc2                 ds.l    1                ; offset: $3C (60)
  532. newProc3                 ds.l    1                ; offset: $40 (64)
  533. newProc4                 ds.l    1                ; offset: $44 (68)
  534. newProc5                 ds.l    1                ; offset: $48 (72)
  535. newProc6                 ds.l    1                ; offset: $4C (76)
  536. sizeof                     EQU *                    ; size:   $50 (80)
  537.                         ENDR
  538. ; typedef struct CQDProcs *                CQDProcsPtr
  539.  
  540. CGrafPort                RECORD 0
  541. device                     ds.w    1                ; offset: $0 (0)
  542. portPixMap                 ds.l    1                ; offset: $2 (2)        ; port's pixel map
  543. portVersion                 ds.w    1                ; offset: $6 (6)        ; high 2 bits always set
  544. grafVars                 ds.l    1                ; offset: $8 (8)        ; Handle to more fields
  545. chExtra                     ds.w    1                ; offset: $C (12)        ; character extra
  546. pnLocHFrac                 ds.w    1                ; offset: $E (14)        ; pen fraction
  547. portRect                 ds        Rect            ; offset: $10 (16)
  548. visRgn                     ds.l    1                ; offset: $18 (24)
  549. clipRgn                     ds.l    1                ; offset: $1C (28)
  550. bkPixPat                 ds.l    1                ; offset: $20 (32)        ; background pattern
  551. rgbFgColor                 ds        RGBColor        ; offset: $24 (36)        ; RGB components of fg
  552. rgbBkColor                 ds        RGBColor        ; offset: $2A (42)        ; RGB components of bk
  553. pnLoc                     ds        Point            ; offset: $30 (48)
  554. pnSize                     ds        Point            ; offset: $34 (52)
  555. pnMode                     ds.w    1                ; offset: $38 (56)
  556. pnPixPat                 ds.l    1                ; offset: $3A (58)        ; pen's pattern
  557. fillPixPat                 ds.l    1                ; offset: $3E (62)        ; fill pattern
  558. pnVis                     ds.w    1                ; offset: $42 (66)
  559. txFont                     ds.w    1                ; offset: $44 (68)
  560. txFace                     ds.w    1                ; offset: $46 (70)        ; StyleField occupies 16-bits, but only first 8-bits are used
  561. txMode                     ds.w    1                ; offset: $48 (72)
  562. txSize                     ds.w    1                ; offset: $4A (74)
  563. spExtra                     ds.l    1                ; offset: $4C (76)
  564. fgColor                     ds.l    1                ; offset: $50 (80)
  565. bkColor                     ds.l    1                ; offset: $54 (84)
  566. colrBit                     ds.w    1                ; offset: $58 (88)
  567. patStretch                 ds.w    1                ; offset: $5A (90)
  568. picSave                     ds.l    1                ; offset: $5C (92)
  569. rgnSave                     ds.l    1                ; offset: $60 (96)
  570. polySave                 ds.l    1                ; offset: $64 (100)
  571. grafProcs                 ds.l    1                ; offset: $68 (104)
  572. sizeof                     EQU *                    ; size:   $6C (108)
  573.                         ENDR
  574. ; typedef struct CGrafPort *            CGrafPtr
  575.  
  576. ; typedef CGrafPtr                         CWindowPtr
  577.  
  578. ReqListRec                RECORD 0
  579. reqLSize                 ds.w    1                ; offset: $0 (0)        ; request list size
  580. reqLData                 ds.w    1                ; offset: $2 (2) <-- really an array of length one ; request list data
  581. sizeof                     EQU *                    ; size:   $4 (4)
  582.                         ENDR
  583. OpenCPicParams            RECORD 0
  584. srcRect                     ds        Rect            ; offset: $0 (0)
  585. hRes                     ds.l    1                ; offset: $8 (8)
  586. vRes                     ds.l    1                ; offset: $C (12)
  587. version                     ds.w    1                ; offset: $10 (16)
  588. reserved1                 ds.w    1                ; offset: $12 (18)
  589. reserved2                 ds.l    1                ; offset: $14 (20)
  590. sizeof                     EQU *                    ; size:   $18 (24)
  591.                         ENDR
  592.  
  593. kCursorImageMajorVersion        EQU        $0001
  594. kCursorImageMinorVersion        EQU        $0000
  595. CursorImageRec            RECORD 0
  596. majorVersion             ds.w    1                ; offset: $0 (0)
  597. minorVersion             ds.w    1                ; offset: $2 (2)
  598. cursorPixMap             ds.l    1                ; offset: $4 (4)
  599. cursorBitMask             ds.l    1                ; offset: $8 (8)
  600. sizeof                     EQU *                    ; size:   $C (12)
  601.                         ENDR
  602. ; typedef struct CursorImageRec *        CursorImagePtr
  603.  
  604.     IF FOR_SYSTEM8_COOPERATIVE THEN
  605. ; typedef DeviceLoopDrawingProcPtr         NativeDeviceLoopDrawingProcPtr
  606.  
  607.     ENDIF
  608. QDGlobals                RECORD 0
  609. privates                 ds.b    76                ; offset: $0 (0)
  610. randSeed                 ds.l    1                ; offset: $4C (76)
  611. screenBits                 ds        BitMap            ; offset: $50 (80)
  612. arrow                     ds        Cursor            ; offset: $5E (94)
  613. dkGray                     ds        Pattern            ; offset: $A2 (162)
  614. ltGray                     ds        Pattern            ; offset: $AA (170)
  615. gray                     ds        Pattern            ; offset: $B2 (178)
  616. black                     ds        Pattern            ; offset: $BA (186)
  617. white                     ds        Pattern            ; offset: $C2 (194)
  618. thePort                     ds.l    1                ; offset: $CA (202)
  619. sizeof                     EQU *                    ; size:   $CE (206)
  620.                         ENDR
  621. ; typedef struct QDGlobals *            QDGlobalsPtr
  622.  
  623. ; typedef QDGlobalsPtr *                QDGlobalsHdl
  624.  
  625.  
  626. ;    Often code written in assembly language is compiled outside of an
  627. ;    application environment.  In such cases, the Quickdraw globals
  628. ;    cannot be access normally (e.g. qd.black).  This kind of code (e.g.
  629. ;    INIT's) usually leaches off the currently install Quickdraw globals
  630. ;    by knowing that 0(a5) points to qd.thePort, as set by InitGraf().
  631. ;    
  632. ;    The record CurrentQDGlobals is defined for use in such circumstances.
  633. ;    It is biased so that thePort is at offset 0.  Below is an example
  634. ;    of using CurrentQDGlobals vs. the old assembly style:
  635. ;    
  636. ;    ; Get address of Quickdraw global's black into A0
  637. ;    
  638. ;        Old non-app way:
  639. ;                MOVE.L    0(A5),A0
  640. ;                LEA        black(A0),A0    ; black was EQU'ed to -16 in QuickEqu.a 
  641. ;    
  642. ;        New non-app way:
  643. ;                MOVE.L    0(A5),A0
  644. ;                LEA        CurrentQDGlobals.black(A0),A0
  645. ;    
  646. ;        New app way:
  647. ;                LEA        qd.black,A0        ; elsewhere: qd  DS    QDGlobals
  648.  
  649. CurrentQDGlobals         RECORD    {thePort},INCREMENT
  650. privates                 ds.b   76        ; offset: $FF36 (-202)
  651. randSeed                 ds.l   1        ; offset: $FF82 (-126)
  652. screenBits                 ds     BitMap    ; offset: $FF86 (-122)
  653. arrow                     ds     Cursor    ; offset: $FF94 (-108)
  654. dkGray                     ds     Pattern    ; offset: $FFD8 (-40)
  655. ltGray                     ds     Pattern    ; offset: $FFE0 (-32)
  656. gray                     ds     Pattern    ; offset: $FFE8 (-24)
  657. black                     ds     Pattern    ; offset: $FFF0 (-16)
  658. white                     ds     Pattern    ; offset: $FFF8 (-8)
  659. thePort                  ds.l   1        ; offset: $0000 (0)
  660. sizeof                     EQU    *-CurrentQDGlobals        ; size:   $CE   (206)
  661.                         ENDR
  662.  
  663.  
  664. GrafGlobals       EQU         0                         ; A5 offset to globptr
  665.  
  666. ;
  667. ; pascal void InitGraf(void *globalPtr)
  668. ;
  669.     IF ¨ GENERATINGCFM THEN
  670.         _InitGraf:    OPWORD    $A86E
  671.     ELSE
  672.         IMPORT_CFM_FUNCTION InitGraf
  673.     ENDIF
  674.  
  675. ;
  676. ; pascal void OpenPort(GrafPtr port)
  677. ;
  678.     IF ¨ GENERATINGCFM THEN
  679.         _OpenPort:    OPWORD    $A86F
  680.     ELSE
  681.         IMPORT_CFM_FUNCTION OpenPort
  682.     ENDIF
  683.  
  684. ;
  685. ; pascal void InitPort(GrafPtr port)
  686. ;
  687.     IF ¨ GENERATINGCFM THEN
  688.         _InitPort:    OPWORD    $A86D
  689.     ELSE
  690.         IMPORT_CFM_FUNCTION InitPort
  691.     ENDIF
  692.  
  693. ;
  694. ; pascal void ClosePort(GrafPtr port)
  695. ;
  696.     IF ¨ GENERATINGCFM THEN
  697.         _ClosePort:    OPWORD    $A87D
  698.     ELSE
  699.         IMPORT_CFM_FUNCTION ClosePort
  700.     ENDIF
  701.  
  702. ;
  703. ; pascal void SetPort(GrafPtr port)
  704. ;
  705.     IF ¨ GENERATINGCFM THEN
  706.         _SetPort:    OPWORD    $A873
  707.     ELSE
  708.         IMPORT_CFM_FUNCTION SetPort
  709.     ENDIF
  710.  
  711. ;
  712. ; pascal void GetPort(GrafPtr *port)
  713. ;
  714.     IF ¨ GENERATINGCFM THEN
  715.         _GetPort:    OPWORD    $A874
  716.     ELSE
  717.         IMPORT_CFM_FUNCTION GetPort
  718.     ENDIF
  719.  
  720. ;
  721. ; pascal void GrafDevice(short device)
  722. ;
  723.     IF ¨ GENERATINGCFM THEN
  724.         _GrafDevice:    OPWORD    $A872
  725.     ELSE
  726.         IMPORT_CFM_FUNCTION GrafDevice
  727.     ENDIF
  728.  
  729. ;
  730. ; pascal void SetPortBits(const BitMap *bm)
  731. ;
  732.     IF ¨ GENERATINGCFM THEN
  733.         _SetPortBits:    OPWORD    $A875
  734.     ELSE
  735.         IMPORT_CFM_FUNCTION SetPortBits
  736.     ENDIF
  737.  
  738. ;
  739. ; pascal void PortSize(short width, short height)
  740. ;
  741.     IF ¨ GENERATINGCFM THEN
  742.         _PortSize:    OPWORD    $A876
  743.     ELSE
  744.         IMPORT_CFM_FUNCTION PortSize
  745.     ENDIF
  746.  
  747. ;
  748. ; pascal void MovePortTo(short leftGlobal, short topGlobal)
  749. ;
  750.     IF ¨ GENERATINGCFM THEN
  751.         _MovePortTo:    OPWORD    $A877
  752.     ELSE
  753.         IMPORT_CFM_FUNCTION MovePortTo
  754.     ENDIF
  755.  
  756. ;
  757. ; pascal void SetOrigin(short h, short v)
  758. ;
  759.     IF ¨ GENERATINGCFM THEN
  760.         _SetOrigin:    OPWORD    $A878
  761.     ELSE
  762.         IMPORT_CFM_FUNCTION SetOrigin
  763.     ENDIF
  764.  
  765. ;
  766. ; pascal void SetClip(RgnHandle rgn)
  767. ;
  768.     IF ¨ GENERATINGCFM THEN
  769.         _SetClip:    OPWORD    $A879
  770.     ELSE
  771.         IMPORT_CFM_FUNCTION SetClip
  772.     ENDIF
  773.  
  774. ;
  775. ; pascal void GetClip(RgnHandle rgn)
  776. ;
  777.     IF ¨ GENERATINGCFM THEN
  778.         _GetClip:    OPWORD    $A87A
  779.     ELSE
  780.         IMPORT_CFM_FUNCTION GetClip
  781.     ENDIF
  782.  
  783. ;
  784. ; pascal void ClipRect(const Rect *r)
  785. ;
  786.     IF ¨ GENERATINGCFM THEN
  787.         _ClipRect:    OPWORD    $A87B
  788.     ELSE
  789.         IMPORT_CFM_FUNCTION ClipRect
  790.     ENDIF
  791.  
  792. ;
  793. ; pascal void BackPat(const Pattern *pat)
  794. ;
  795.     IF ¨ GENERATINGCFM THEN
  796.         _BackPat:    OPWORD    $A87C
  797.     ELSE
  798.         IMPORT_CFM_FUNCTION BackPat
  799.     ENDIF
  800.  
  801. ;
  802. ; pascal void InitCursor(void )
  803. ;
  804.     IF ¨ GENERATINGCFM THEN
  805.         _InitCursor:    OPWORD    $A850
  806.     ELSE
  807.         IMPORT_CFM_FUNCTION InitCursor
  808.     ENDIF
  809.  
  810. ;
  811. ; pascal void SetCursor(const Cursor *crsr)
  812. ;
  813.     IF ¨ GENERATINGCFM THEN
  814.         _SetCursor:    OPWORD    $A851
  815.     ELSE
  816.         IMPORT_CFM_FUNCTION SetCursor
  817.     ENDIF
  818.  
  819. ;
  820. ; pascal void HideCursor(void )
  821. ;
  822.     IF ¨ GENERATINGCFM THEN
  823.         _HideCursor:    OPWORD    $A852
  824.     ELSE
  825.         IMPORT_CFM_FUNCTION HideCursor
  826.     ENDIF
  827.  
  828. ;
  829. ; pascal void ShowCursor(void )
  830. ;
  831.     IF ¨ GENERATINGCFM THEN
  832.         _ShowCursor:    OPWORD    $A853
  833.     ELSE
  834.         IMPORT_CFM_FUNCTION ShowCursor
  835.     ENDIF
  836.  
  837. ;
  838. ; pascal void ObscureCursor(void )
  839. ;
  840.     IF ¨ GENERATINGCFM THEN
  841.         _ObscureCursor:    OPWORD    $A856
  842.     ELSE
  843.         IMPORT_CFM_FUNCTION ObscureCursor
  844.     ENDIF
  845.  
  846. ;
  847. ; pascal void HidePen(void )
  848. ;
  849.     IF ¨ GENERATINGCFM THEN
  850.         _HidePen:    OPWORD    $A896
  851.     ELSE
  852.         IMPORT_CFM_FUNCTION HidePen
  853.     ENDIF
  854.  
  855. ;
  856. ; pascal void ShowPen(void )
  857. ;
  858.     IF ¨ GENERATINGCFM THEN
  859.         _ShowPen:    OPWORD    $A897
  860.     ELSE
  861.         IMPORT_CFM_FUNCTION ShowPen
  862.     ENDIF
  863.  
  864. ;
  865. ; pascal void GetPen(Point *pt)
  866. ;
  867.     IF ¨ GENERATINGCFM THEN
  868.         _GetPen:    OPWORD    $A89A
  869.     ELSE
  870.         IMPORT_CFM_FUNCTION GetPen
  871.     ENDIF
  872.  
  873. ;
  874. ; pascal void GetPenState(PenState *pnState)
  875. ;
  876.     IF ¨ GENERATINGCFM THEN
  877.         _GetPenState:    OPWORD    $A898
  878.     ELSE
  879.         IMPORT_CFM_FUNCTION GetPenState
  880.     ENDIF
  881.  
  882. ;
  883. ; pascal void SetPenState(const PenState *pnState)
  884. ;
  885.     IF ¨ GENERATINGCFM THEN
  886.         _SetPenState:    OPWORD    $A899
  887.     ELSE
  888.         IMPORT_CFM_FUNCTION SetPenState
  889.     ENDIF
  890.  
  891. ;
  892. ; pascal void PenSize(short width, short height)
  893. ;
  894.     IF ¨ GENERATINGCFM THEN
  895.         _PenSize:    OPWORD    $A89B
  896.     ELSE
  897.         IMPORT_CFM_FUNCTION PenSize
  898.     ENDIF
  899.  
  900. ;
  901. ; pascal void PenMode(short mode)
  902. ;
  903.     IF ¨ GENERATINGCFM THEN
  904.         _PenMode:    OPWORD    $A89C
  905.     ELSE
  906.         IMPORT_CFM_FUNCTION PenMode
  907.     ENDIF
  908.  
  909. ;
  910. ; pascal void PenPat(const Pattern *pat)
  911. ;
  912.     IF ¨ GENERATINGCFM THEN
  913.         _PenPat:    OPWORD    $A89D
  914.     ELSE
  915.         IMPORT_CFM_FUNCTION PenPat
  916.     ENDIF
  917.  
  918. ;
  919. ; pascal void PenNormal(void )
  920. ;
  921.     IF ¨ GENERATINGCFM THEN
  922.         _PenNormal:    OPWORD    $A89E
  923.     ELSE
  924.         IMPORT_CFM_FUNCTION PenNormal
  925.     ENDIF
  926.  
  927. ;
  928. ; pascal void MoveTo(short h, short v)
  929. ;
  930.     IF ¨ GENERATINGCFM THEN
  931.         _MoveTo:    OPWORD    $A893
  932.     ELSE
  933.         IMPORT_CFM_FUNCTION MoveTo
  934.     ENDIF
  935.  
  936. ;
  937. ; pascal void Move(short dh, short dv)
  938. ;
  939.     IF ¨ GENERATINGCFM THEN
  940.         _Move:    OPWORD    $A894
  941.     ELSE
  942.         IMPORT_CFM_FUNCTION Move
  943.     ENDIF
  944.  
  945. ;
  946. ; pascal void LineTo(short h, short v)
  947. ;
  948.     IF ¨ GENERATINGCFM THEN
  949.         _LineTo:    OPWORD    $A891
  950.     ELSE
  951.         IMPORT_CFM_FUNCTION LineTo
  952.     ENDIF
  953.  
  954. ;
  955. ; pascal void Line(short dh, short dv)
  956. ;
  957.     IF ¨ GENERATINGCFM THEN
  958.         _Line:    OPWORD    $A892
  959.     ELSE
  960.         IMPORT_CFM_FUNCTION Line
  961.     ENDIF
  962.  
  963. ;
  964. ; pascal void ForeColor(long color)
  965. ;
  966.     IF ¨ GENERATINGCFM THEN
  967.         _ForeColor:    OPWORD    $A862
  968.     ELSE
  969.         IMPORT_CFM_FUNCTION ForeColor
  970.     ENDIF
  971.  
  972. ;
  973. ; pascal void BackColor(long color)
  974. ;
  975.     IF ¨ GENERATINGCFM THEN
  976.         _BackColor:    OPWORD    $A863
  977.     ELSE
  978.         IMPORT_CFM_FUNCTION BackColor
  979.     ENDIF
  980.  
  981. ;
  982. ; pascal void ColorBit(short whichBit)
  983. ;
  984.     IF ¨ GENERATINGCFM THEN
  985.         _ColorBit:    OPWORD    $A864
  986.     ELSE
  987.         IMPORT_CFM_FUNCTION ColorBit
  988.     ENDIF
  989.  
  990. ;
  991. ; pascal void SetRect(Rect *r, short left, short top, short right, short bottom)
  992. ;
  993.     IF ¨ GENERATINGCFM THEN
  994.         _SetRect:    OPWORD    $A8A7
  995.     ELSE
  996.         IMPORT_CFM_FUNCTION SetRect
  997.     ENDIF
  998.  
  999. ;
  1000. ; pascal void OffsetRect(Rect *r, short dh, short dv)
  1001. ;
  1002.     IF ¨ GENERATINGCFM THEN
  1003.         _OffsetRect:    OPWORD    $A8A8
  1004.     ELSE
  1005.         IMPORT_CFM_FUNCTION OffsetRect
  1006.     ENDIF
  1007.  
  1008. ;
  1009. ; pascal void InsetRect(Rect *r, short dh, short dv)
  1010. ;
  1011.     IF ¨ GENERATINGCFM THEN
  1012.         _InsetRect:    OPWORD    $A8A9
  1013.     ELSE
  1014.         IMPORT_CFM_FUNCTION InsetRect
  1015.     ENDIF
  1016.  
  1017. ;
  1018. ; pascal Boolean SectRect(const Rect *src1, const Rect *src2, Rect *dstRect)
  1019. ;
  1020.     IF ¨ GENERATINGCFM THEN
  1021.         _SectRect:    OPWORD    $A8AA
  1022.     ELSE
  1023.         IMPORT_CFM_FUNCTION SectRect
  1024.     ENDIF
  1025.  
  1026. ;
  1027. ; pascal void UnionRect(const Rect *src1, const Rect *src2, Rect *dstRect)
  1028. ;
  1029.     IF ¨ GENERATINGCFM THEN
  1030.         _UnionRect:    OPWORD    $A8AB
  1031.     ELSE
  1032.         IMPORT_CFM_FUNCTION UnionRect
  1033.     ENDIF
  1034.  
  1035. ;
  1036. ; pascal Boolean EqualRect(const Rect *rect1, const Rect *rect2)
  1037. ;
  1038.     IF ¨ GENERATINGCFM THEN
  1039.         _EqualRect:    OPWORD    $A8A6
  1040.     ELSE
  1041.         IMPORT_CFM_FUNCTION EqualRect
  1042.     ENDIF
  1043.  
  1044. ;
  1045. ; pascal Boolean EmptyRect(const Rect *r)
  1046. ;
  1047.     IF ¨ GENERATINGCFM THEN
  1048.         _EmptyRect:    OPWORD    $A8AE
  1049.     ELSE
  1050.         IMPORT_CFM_FUNCTION EmptyRect
  1051.     ENDIF
  1052.  
  1053. ;
  1054. ; pascal void FrameRect(const Rect *r)
  1055. ;
  1056.     IF ¨ GENERATINGCFM THEN
  1057.         _FrameRect:    OPWORD    $A8A1
  1058.     ELSE
  1059.         IMPORT_CFM_FUNCTION FrameRect
  1060.     ENDIF
  1061.  
  1062. ;
  1063. ; pascal void PaintRect(const Rect *r)
  1064. ;
  1065.     IF ¨ GENERATINGCFM THEN
  1066.         _PaintRect:    OPWORD    $A8A2
  1067.     ELSE
  1068.         IMPORT_CFM_FUNCTION PaintRect
  1069.     ENDIF
  1070.  
  1071. ;
  1072. ; pascal void EraseRect(const Rect *r)
  1073. ;
  1074.     IF ¨ GENERATINGCFM THEN
  1075.         _EraseRect:    OPWORD    $A8A3
  1076.     ELSE
  1077.         IMPORT_CFM_FUNCTION EraseRect
  1078.     ENDIF
  1079.  
  1080. ;
  1081. ; pascal void InvertRect(const Rect *r)
  1082. ;
  1083.     IF ¨ GENERATINGCFM THEN
  1084.         _InvertRect:    OPWORD    $A8A4
  1085.     ELSE
  1086.         IMPORT_CFM_FUNCTION InvertRect
  1087.     ENDIF
  1088.  
  1089. ;
  1090. ; pascal void FillRect(const Rect *r, const Pattern *pat)
  1091. ;
  1092.     IF ¨ GENERATINGCFM THEN
  1093.         _FillRect:    OPWORD    $A8A5
  1094.     ELSE
  1095.         IMPORT_CFM_FUNCTION FillRect
  1096.     ENDIF
  1097.  
  1098. ;
  1099. ; pascal void FrameOval(const Rect *r)
  1100. ;
  1101.     IF ¨ GENERATINGCFM THEN
  1102.         _FrameOval:    OPWORD    $A8B7
  1103.     ELSE
  1104.         IMPORT_CFM_FUNCTION FrameOval
  1105.     ENDIF
  1106.  
  1107. ;
  1108. ; pascal void PaintOval(const Rect *r)
  1109. ;
  1110.     IF ¨ GENERATINGCFM THEN
  1111.         _PaintOval:    OPWORD    $A8B8
  1112.     ELSE
  1113.         IMPORT_CFM_FUNCTION PaintOval
  1114.     ENDIF
  1115.  
  1116. ;
  1117. ; pascal void EraseOval(const Rect *r)
  1118. ;
  1119.     IF ¨ GENERATINGCFM THEN
  1120.         _EraseOval:    OPWORD    $A8B9
  1121.     ELSE
  1122.         IMPORT_CFM_FUNCTION EraseOval
  1123.     ENDIF
  1124.  
  1125. ;
  1126. ; pascal void InvertOval(const Rect *r)
  1127. ;
  1128.     IF ¨ GENERATINGCFM THEN
  1129.         _InvertOval:    OPWORD    $A8BA
  1130.     ELSE
  1131.         IMPORT_CFM_FUNCTION InvertOval
  1132.     ENDIF
  1133.  
  1134. ;
  1135. ; pascal void FillOval(const Rect *r, const Pattern *pat)
  1136. ;
  1137.     IF ¨ GENERATINGCFM THEN
  1138.         _FillOval:    OPWORD    $A8BB
  1139.     ELSE
  1140.         IMPORT_CFM_FUNCTION FillOval
  1141.     ENDIF
  1142.  
  1143. ;
  1144. ; pascal void FrameRoundRect(const Rect *r, short ovalWidth, short ovalHeight)
  1145. ;
  1146.     IF ¨ GENERATINGCFM THEN
  1147.         _FrameRoundRect:    OPWORD    $A8B0
  1148.     ELSE
  1149.         IMPORT_CFM_FUNCTION FrameRoundRect
  1150.     ENDIF
  1151.  
  1152. ;
  1153. ; pascal void PaintRoundRect(const Rect *r, short ovalWidth, short ovalHeight)
  1154. ;
  1155.     IF ¨ GENERATINGCFM THEN
  1156.         _PaintRoundRect:    OPWORD    $A8B1
  1157.     ELSE
  1158.         IMPORT_CFM_FUNCTION PaintRoundRect
  1159.     ENDIF
  1160.  
  1161. ;
  1162. ; pascal void EraseRoundRect(const Rect *r, short ovalWidth, short ovalHeight)
  1163. ;
  1164.     IF ¨ GENERATINGCFM THEN
  1165.         _EraseRoundRect:    OPWORD    $A8B2
  1166.     ELSE
  1167.         IMPORT_CFM_FUNCTION EraseRoundRect
  1168.     ENDIF
  1169.  
  1170. ;
  1171. ; pascal void InvertRoundRect(const Rect *r, short ovalWidth, short ovalHeight)
  1172. ;
  1173.     IF ¨ GENERATINGCFM THEN
  1174.         _InvertRoundRect:    OPWORD    $A8B3
  1175.     ELSE
  1176.         IMPORT_CFM_FUNCTION InvertRoundRect
  1177.     ENDIF
  1178.  
  1179. ;
  1180. ; pascal void FillRoundRect(const Rect *r, short ovalWidth, short ovalHeight, const Pattern *pat)
  1181. ;
  1182.     IF ¨ GENERATINGCFM THEN
  1183.         _FillRoundRect:    OPWORD    $A8B4
  1184.     ELSE
  1185.         IMPORT_CFM_FUNCTION FillRoundRect
  1186.     ENDIF
  1187.  
  1188. ;
  1189. ; pascal void FrameArc(const Rect *r, short startAngle, short arcAngle)
  1190. ;
  1191.     IF ¨ GENERATINGCFM THEN
  1192.         _FrameArc:    OPWORD    $A8BE
  1193.     ELSE
  1194.         IMPORT_CFM_FUNCTION FrameArc
  1195.     ENDIF
  1196.  
  1197. ;
  1198. ; pascal void PaintArc(const Rect *r, short startAngle, short arcAngle)
  1199. ;
  1200.     IF ¨ GENERATINGCFM THEN
  1201.         _PaintArc:    OPWORD    $A8BF
  1202.     ELSE
  1203.         IMPORT_CFM_FUNCTION PaintArc
  1204.     ENDIF
  1205.  
  1206. ;
  1207. ; pascal void EraseArc(const Rect *r, short startAngle, short arcAngle)
  1208. ;
  1209.     IF ¨ GENERATINGCFM THEN
  1210.         _EraseArc:    OPWORD    $A8C0
  1211.     ELSE
  1212.         IMPORT_CFM_FUNCTION EraseArc
  1213.     ENDIF
  1214.  
  1215. ;
  1216. ; pascal void InvertArc(const Rect *r, short startAngle, short arcAngle)
  1217. ;
  1218.     IF ¨ GENERATINGCFM THEN
  1219.         _InvertArc:    OPWORD    $A8C1
  1220.     ELSE
  1221.         IMPORT_CFM_FUNCTION InvertArc
  1222.     ENDIF
  1223.  
  1224. ;
  1225. ; pascal void FillArc(const Rect *r, short startAngle, short arcAngle, const Pattern *pat)
  1226. ;
  1227.     IF ¨ GENERATINGCFM THEN
  1228.         _FillArc:    OPWORD    $A8C2
  1229.     ELSE
  1230.         IMPORT_CFM_FUNCTION FillArc
  1231.     ENDIF
  1232.  
  1233. ;
  1234. ; pascal RgnHandle NewRgn(void )
  1235. ;
  1236.     IF ¨ GENERATINGCFM THEN
  1237.         _NewRgn:    OPWORD    $A8D8
  1238.     ELSE
  1239.         IMPORT_CFM_FUNCTION NewRgn
  1240.     ENDIF
  1241.  
  1242. ;
  1243. ; pascal void OpenRgn(void )
  1244. ;
  1245.     IF ¨ GENERATINGCFM THEN
  1246.         _OpenRgn:    OPWORD    $A8DA
  1247.     ELSE
  1248.         IMPORT_CFM_FUNCTION OpenRgn
  1249.     ENDIF
  1250.  
  1251. ;
  1252. ; pascal void CloseRgn(RgnHandle dstRgn)
  1253. ;
  1254.     IF ¨ GENERATINGCFM THEN
  1255.         _CloseRgn:    OPWORD    $A8DB
  1256.     ELSE
  1257.         IMPORT_CFM_FUNCTION CloseRgn
  1258.     ENDIF
  1259.  
  1260. ;
  1261. ; pascal OSErr BitMapToRegion(RgnHandle region, const BitMap *bMap)
  1262. ;
  1263.     IF ¨ GENERATINGCFM THEN
  1264.         _BitMapToRegion:    OPWORD    $A8D7
  1265.     ELSE
  1266.         IMPORT_CFM_FUNCTION BitMapToRegion
  1267.     ENDIF
  1268.  
  1269. ;
  1270. ; pascal void DisposeRgn(RgnHandle rgn)
  1271. ;
  1272.     IF ¨ GENERATINGCFM THEN
  1273.         _DisposeRgn:    OPWORD    $A8D9
  1274.     ELSE
  1275.         IMPORT_CFM_FUNCTION DisposeRgn
  1276.     ENDIF
  1277.  
  1278. ;
  1279. ; pascal void CopyRgn(RgnHandle srcRgn, RgnHandle dstRgn)
  1280. ;
  1281.     IF ¨ GENERATINGCFM THEN
  1282.         _CopyRgn:    OPWORD    $A8DC
  1283.     ELSE
  1284.         IMPORT_CFM_FUNCTION CopyRgn
  1285.     ENDIF
  1286.  
  1287. ;
  1288. ; pascal void SetEmptyRgn(RgnHandle rgn)
  1289. ;
  1290.     IF ¨ GENERATINGCFM THEN
  1291.         _SetEmptyRgn:    OPWORD    $A8DD
  1292.     ELSE
  1293.         IMPORT_CFM_FUNCTION SetEmptyRgn
  1294.     ENDIF
  1295.  
  1296. ;
  1297. ; pascal void SetRectRgn(RgnHandle rgn, short left, short top, short right, short bottom)
  1298. ;
  1299.     IF ¨ GENERATINGCFM THEN
  1300.         _SetRectRgn:    OPWORD    $A8DE
  1301.     ELSE
  1302.         IMPORT_CFM_FUNCTION SetRectRgn
  1303.     ENDIF
  1304.  
  1305. ;
  1306. ; pascal void RectRgn(RgnHandle rgn, const Rect *r)
  1307. ;
  1308.     IF ¨ GENERATINGCFM THEN
  1309.         _RectRgn:    OPWORD    $A8DF
  1310.     ELSE
  1311.         IMPORT_CFM_FUNCTION RectRgn
  1312.     ENDIF
  1313.  
  1314. ;
  1315. ; pascal void OffsetRgn(RgnHandle rgn, short dh, short dv)
  1316. ;
  1317.     IF ¨ GENERATINGCFM THEN
  1318.         _OffsetRgn:    OPWORD    $A8E0
  1319.     ELSE
  1320.         IMPORT_CFM_FUNCTION OffsetRgn
  1321.     ENDIF
  1322.  
  1323. ;
  1324. ; pascal void InsetRgn(RgnHandle rgn, short dh, short dv)
  1325. ;
  1326.     IF ¨ GENERATINGCFM THEN
  1327.         _InsetRgn:    OPWORD    $A8E1
  1328.     ELSE
  1329.         IMPORT_CFM_FUNCTION InsetRgn
  1330.     ENDIF
  1331.  
  1332. ;
  1333. ; pascal void SectRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn)
  1334. ;
  1335.     IF ¨ GENERATINGCFM THEN
  1336.         _SectRgn:    OPWORD    $A8E4
  1337.     ELSE
  1338.         IMPORT_CFM_FUNCTION SectRgn
  1339.     ENDIF
  1340.  
  1341. ;
  1342. ; pascal void UnionRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn)
  1343. ;
  1344.     IF ¨ GENERATINGCFM THEN
  1345.         _UnionRgn:    OPWORD    $A8E5
  1346.     ELSE
  1347.         IMPORT_CFM_FUNCTION UnionRgn
  1348.     ENDIF
  1349.  
  1350. ;
  1351. ; pascal void DiffRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn)
  1352. ;
  1353.     IF ¨ GENERATINGCFM THEN
  1354.         _DiffRgn:    OPWORD    $A8E6
  1355.     ELSE
  1356.         IMPORT_CFM_FUNCTION DiffRgn
  1357.     ENDIF
  1358.  
  1359. ;
  1360. ; pascal void XorRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn)
  1361. ;
  1362.     IF ¨ GENERATINGCFM THEN
  1363.         _XorRgn:    OPWORD    $A8E7
  1364.     ELSE
  1365.         IMPORT_CFM_FUNCTION XorRgn
  1366.     ENDIF
  1367.  
  1368. ;
  1369. ; pascal Boolean RectInRgn(const Rect *r, RgnHandle rgn)
  1370. ;
  1371.     IF ¨ GENERATINGCFM THEN
  1372.         _RectInRgn:    OPWORD    $A8E9
  1373.     ELSE
  1374.         IMPORT_CFM_FUNCTION RectInRgn
  1375.     ENDIF
  1376.  
  1377. ;
  1378. ; pascal Boolean EqualRgn(RgnHandle rgnA, RgnHandle rgnB)
  1379. ;
  1380.     IF ¨ GENERATINGCFM THEN
  1381.         _EqualRgn:    OPWORD    $A8E3
  1382.     ELSE
  1383.         IMPORT_CFM_FUNCTION EqualRgn
  1384.     ENDIF
  1385.  
  1386. ;
  1387. ; pascal Boolean EmptyRgn(RgnHandle rgn)
  1388. ;
  1389.     IF ¨ GENERATINGCFM THEN
  1390.         _EmptyRgn:    OPWORD    $A8E2
  1391.     ELSE
  1392.         IMPORT_CFM_FUNCTION EmptyRgn
  1393.     ENDIF
  1394.  
  1395. ;
  1396. ; pascal void FrameRgn(RgnHandle rgn)
  1397. ;
  1398.     IF ¨ GENERATINGCFM THEN
  1399.         _FrameRgn:    OPWORD    $A8D2
  1400.     ELSE
  1401.         IMPORT_CFM_FUNCTION FrameRgn
  1402.     ENDIF
  1403.  
  1404. ;
  1405. ; pascal void PaintRgn(RgnHandle rgn)
  1406. ;
  1407.     IF ¨ GENERATINGCFM THEN
  1408.         _PaintRgn:    OPWORD    $A8D3
  1409.     ELSE
  1410.         IMPORT_CFM_FUNCTION PaintRgn
  1411.     ENDIF
  1412.  
  1413. ;
  1414. ; pascal void EraseRgn(RgnHandle rgn)
  1415. ;
  1416.     IF ¨ GENERATINGCFM THEN
  1417.         _EraseRgn:    OPWORD    $A8D4
  1418.     ELSE
  1419.         IMPORT_CFM_FUNCTION EraseRgn
  1420.     ENDIF
  1421.  
  1422. ;
  1423. ; pascal void InvertRgn(RgnHandle rgn)
  1424. ;
  1425.     IF ¨ GENERATINGCFM THEN
  1426.         _InvertRgn:    OPWORD    $A8D5
  1427.     ELSE
  1428.         IMPORT_CFM_FUNCTION InvertRgn
  1429.     ENDIF
  1430.  
  1431. ;
  1432. ; pascal void FillRgn(RgnHandle rgn, const Pattern *pat)
  1433. ;
  1434.     IF ¨ GENERATINGCFM THEN
  1435.         _FillRgn:    OPWORD    $A8D6
  1436.     ELSE
  1437.         IMPORT_CFM_FUNCTION FillRgn
  1438.     ENDIF
  1439.  
  1440. ;
  1441. ; pascal void ScrollRect(const Rect *r, short dh, short dv, RgnHandle updateRgn)
  1442. ;
  1443.     IF ¨ GENERATINGCFM THEN
  1444.         _ScrollRect:    OPWORD    $A8EF
  1445.     ELSE
  1446.         IMPORT_CFM_FUNCTION ScrollRect
  1447.     ENDIF
  1448.  
  1449. ;
  1450. ; pascal void CopyBits(const BitMap *srcBits, const BitMap *dstBits, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle maskRgn)
  1451. ;
  1452.     IF ¨ GENERATINGCFM THEN
  1453.         _CopyBits:    OPWORD    $A8EC
  1454.     ELSE
  1455.         IMPORT_CFM_FUNCTION CopyBits
  1456.     ENDIF
  1457.  
  1458. ;
  1459. ; pascal void SeedFill(const void *srcPtr, void *dstPtr, short srcRow, short dstRow, short height, short words, short seedH, short seedV)
  1460. ;
  1461.     IF ¨ GENERATINGCFM THEN
  1462.         _SeedFill:    OPWORD    $A839
  1463.     ELSE
  1464.         IMPORT_CFM_FUNCTION SeedFill
  1465.     ENDIF
  1466.  
  1467. ;
  1468. ; pascal void CalcMask(const void *srcPtr, void *dstPtr, short srcRow, short dstRow, short height, short words)
  1469. ;
  1470.     IF ¨ GENERATINGCFM THEN
  1471.         _CalcMask:    OPWORD    $A838
  1472.     ELSE
  1473.         IMPORT_CFM_FUNCTION CalcMask
  1474.     ENDIF
  1475.  
  1476. ;
  1477. ; pascal void CopyMask(const BitMap *srcBits, const BitMap *maskBits, const BitMap *dstBits, const Rect *srcRect, const Rect *maskRect, const Rect *dstRect)
  1478. ;
  1479.     IF ¨ GENERATINGCFM THEN
  1480.         _CopyMask:    OPWORD    $A817
  1481.     ELSE
  1482.         IMPORT_CFM_FUNCTION CopyMask
  1483.     ENDIF
  1484.  
  1485. ;
  1486. ; pascal PicHandle OpenPicture(const Rect *picFrame)
  1487. ;
  1488.     IF ¨ GENERATINGCFM THEN
  1489.         _OpenPicture:    OPWORD    $A8F3
  1490.     ELSE
  1491.         IMPORT_CFM_FUNCTION OpenPicture
  1492.     ENDIF
  1493.  
  1494. ;
  1495. ; pascal void PicComment(short kind, short dataSize, Handle dataHandle)
  1496. ;
  1497.     IF ¨ GENERATINGCFM THEN
  1498.         _PicComment:    OPWORD    $A8F2
  1499.     ELSE
  1500.         IMPORT_CFM_FUNCTION PicComment
  1501.     ENDIF
  1502.  
  1503. ;
  1504. ; pascal void ClosePicture(void )
  1505. ;
  1506.     IF ¨ GENERATINGCFM THEN
  1507.         _ClosePicture:    OPWORD    $A8F4
  1508.     ELSE
  1509.         IMPORT_CFM_FUNCTION ClosePicture
  1510.     ENDIF
  1511.  
  1512. ;
  1513. ; pascal void DrawPicture(PicHandle myPicture, const Rect *dstRect)
  1514. ;
  1515.     IF ¨ GENERATINGCFM THEN
  1516.         _DrawPicture:    OPWORD    $A8F6
  1517.     ELSE
  1518.         IMPORT_CFM_FUNCTION DrawPicture
  1519.     ENDIF
  1520.  
  1521. ;
  1522. ; pascal void KillPicture(PicHandle myPicture)
  1523. ;
  1524.     IF ¨ GENERATINGCFM THEN
  1525.         _KillPicture:    OPWORD    $A8F5
  1526.     ELSE
  1527.         IMPORT_CFM_FUNCTION KillPicture
  1528.     ENDIF
  1529.  
  1530. ;
  1531. ; pascal PolyHandle OpenPoly(void )
  1532. ;
  1533.     IF ¨ GENERATINGCFM THEN
  1534.         _OpenPoly:    OPWORD    $A8CB
  1535.     ELSE
  1536.         IMPORT_CFM_FUNCTION OpenPoly
  1537.     ENDIF
  1538.  
  1539. ;
  1540. ; pascal void ClosePoly(void )
  1541. ;
  1542.     IF ¨ GENERATINGCFM THEN
  1543.         _ClosePoly:    OPWORD    $A8CC
  1544.     ELSE
  1545.         IMPORT_CFM_FUNCTION ClosePoly
  1546.     ENDIF
  1547.  
  1548. ;
  1549. ; pascal void KillPoly(PolyHandle poly)
  1550. ;
  1551.     IF ¨ GENERATINGCFM THEN
  1552.         _KillPoly:    OPWORD    $A8CD
  1553.     ELSE
  1554.         IMPORT_CFM_FUNCTION KillPoly
  1555.     ENDIF
  1556.  
  1557. ;
  1558. ; pascal void OffsetPoly(PolyHandle poly, short dh, short dv)
  1559. ;
  1560.     IF ¨ GENERATINGCFM THEN
  1561.         _OffsetPoly:    OPWORD    $A8CE
  1562.     ELSE
  1563.         IMPORT_CFM_FUNCTION OffsetPoly
  1564.     ENDIF
  1565.  
  1566. ;
  1567. ; pascal void FramePoly(PolyHandle poly)
  1568. ;
  1569.     IF ¨ GENERATINGCFM THEN
  1570.         _FramePoly:    OPWORD    $A8C6
  1571.     ELSE
  1572.         IMPORT_CFM_FUNCTION FramePoly
  1573.     ENDIF
  1574.  
  1575. ;
  1576. ; pascal void PaintPoly(PolyHandle poly)
  1577. ;
  1578.     IF ¨ GENERATINGCFM THEN
  1579.         _PaintPoly:    OPWORD    $A8C7
  1580.     ELSE
  1581.         IMPORT_CFM_FUNCTION PaintPoly
  1582.     ENDIF
  1583.  
  1584. ;
  1585. ; pascal void ErasePoly(PolyHandle poly)
  1586. ;
  1587.     IF ¨ GENERATINGCFM THEN
  1588.         _ErasePoly:    OPWORD    $A8C8
  1589.     ELSE
  1590.         IMPORT_CFM_FUNCTION ErasePoly
  1591.     ENDIF
  1592.  
  1593. ;
  1594. ; pascal void InvertPoly(PolyHandle poly)
  1595. ;
  1596.     IF ¨ GENERATINGCFM THEN
  1597.         _InvertPoly:    OPWORD    $A8C9
  1598.     ELSE
  1599.         IMPORT_CFM_FUNCTION InvertPoly
  1600.     ENDIF
  1601.  
  1602. ;
  1603. ; pascal void FillPoly(PolyHandle poly, const Pattern *pat)
  1604. ;
  1605.     IF ¨ GENERATINGCFM THEN
  1606.         _FillPoly:    OPWORD    $A8CA
  1607.     ELSE
  1608.         IMPORT_CFM_FUNCTION FillPoly
  1609.     ENDIF
  1610.  
  1611. ;
  1612. ; pascal void SetPt(Point *pt, short h, short v)
  1613. ;
  1614.     IF ¨ GENERATINGCFM THEN
  1615.         _SetPt:    OPWORD    $A880
  1616.     ELSE
  1617.         IMPORT_CFM_FUNCTION SetPt
  1618.     ENDIF
  1619.  
  1620. ;
  1621. ; pascal void LocalToGlobal(Point *pt)
  1622. ;
  1623.     IF ¨ GENERATINGCFM THEN
  1624.         _LocalToGlobal:    OPWORD    $A870
  1625.     ELSE
  1626.         IMPORT_CFM_FUNCTION LocalToGlobal
  1627.     ENDIF
  1628.  
  1629. ;
  1630. ; pascal void GlobalToLocal(Point *pt)
  1631. ;
  1632.     IF ¨ GENERATINGCFM THEN
  1633.         _GlobalToLocal:    OPWORD    $A871
  1634.     ELSE
  1635.         IMPORT_CFM_FUNCTION GlobalToLocal
  1636.     ENDIF
  1637.  
  1638. ;
  1639. ; pascal short Random(void )
  1640. ;
  1641.     IF ¨ GENERATINGCFM THEN
  1642.         _Random:    OPWORD    $A861
  1643.     ELSE
  1644.         IMPORT_CFM_FUNCTION Random
  1645.     ENDIF
  1646.  
  1647. ;
  1648. ; pascal void StuffHex(void *thingPtr, ConstStr255Param s)
  1649. ;
  1650.     IF ¨ GENERATINGCFM THEN
  1651.         _StuffHex:    OPWORD    $A866
  1652.     ELSE
  1653.         IMPORT_CFM_FUNCTION StuffHex
  1654.     ENDIF
  1655.  
  1656. ;
  1657. ; pascal Boolean GetPixel(short h, short v)
  1658. ;
  1659.     IF ¨ GENERATINGCFM THEN
  1660.         _GetPixel:    OPWORD    $A865
  1661.     ELSE
  1662.         IMPORT_CFM_FUNCTION GetPixel
  1663.     ENDIF
  1664.  
  1665. ;
  1666. ; pascal void ScalePt(Point *pt, const Rect *srcRect, const Rect *dstRect)
  1667. ;
  1668.     IF ¨ GENERATINGCFM THEN
  1669.         _ScalePt:    OPWORD    $A8F8
  1670.     ELSE
  1671.         IMPORT_CFM_FUNCTION ScalePt
  1672.     ENDIF
  1673.  
  1674. ;
  1675. ; pascal void MapPt(Point *pt, const Rect *srcRect, const Rect *dstRect)
  1676. ;
  1677.     IF ¨ GENERATINGCFM THEN
  1678.         _MapPt:    OPWORD    $A8F9
  1679.     ELSE
  1680.         IMPORT_CFM_FUNCTION MapPt
  1681.     ENDIF
  1682.  
  1683. ;
  1684. ; pascal void MapRect(Rect *r, const Rect *srcRect, const Rect *dstRect)
  1685. ;
  1686.     IF ¨ GENERATINGCFM THEN
  1687.         _MapRect:    OPWORD    $A8FA
  1688.     ELSE
  1689.         IMPORT_CFM_FUNCTION MapRect
  1690.     ENDIF
  1691.  
  1692. ;
  1693. ; pascal void MapRgn(RgnHandle rgn, const Rect *srcRect, const Rect *dstRect)
  1694. ;
  1695.     IF ¨ GENERATINGCFM THEN
  1696.         _MapRgn:    OPWORD    $A8FB
  1697.     ELSE
  1698.         IMPORT_CFM_FUNCTION MapRgn
  1699.     ENDIF
  1700.  
  1701. ;
  1702. ; pascal void MapPoly(PolyHandle poly, const Rect *srcRect, const Rect *dstRect)
  1703. ;
  1704.     IF ¨ GENERATINGCFM THEN
  1705.         _MapPoly:    OPWORD    $A8FC
  1706.     ELSE
  1707.         IMPORT_CFM_FUNCTION MapPoly
  1708.     ENDIF
  1709.  
  1710. ;
  1711. ; pascal void SetStdProcs(QDProcs *procs)
  1712. ;
  1713.     IF ¨ GENERATINGCFM THEN
  1714.         _SetStdProcs:    OPWORD    $A8EA
  1715.     ELSE
  1716.         IMPORT_CFM_FUNCTION SetStdProcs
  1717.     ENDIF
  1718.  
  1719. ;
  1720. ; pascal void StdRect(GrafVerb verb, const Rect *r)
  1721. ;
  1722.     IF ¨ GENERATINGCFM THEN
  1723.         _StdRect:    OPWORD    $A8A0
  1724.     ELSE
  1725.         IMPORT_CFM_FUNCTION StdRect
  1726.     ENDIF
  1727.  
  1728. ;
  1729. ; pascal void StdRRect(GrafVerb verb, const Rect *r, short ovalWidth, short ovalHeight)
  1730. ;
  1731.     IF ¨ GENERATINGCFM THEN
  1732.         _StdRRect:    OPWORD    $A8AF
  1733.     ELSE
  1734.         IMPORT_CFM_FUNCTION StdRRect
  1735.     ENDIF
  1736.  
  1737. ;
  1738. ; pascal void StdOval(GrafVerb verb, const Rect *r)
  1739. ;
  1740.     IF ¨ GENERATINGCFM THEN
  1741.         _StdOval:    OPWORD    $A8B6
  1742.     ELSE
  1743.         IMPORT_CFM_FUNCTION StdOval
  1744.     ENDIF
  1745.  
  1746. ;
  1747. ; pascal void StdArc(GrafVerb verb, const Rect *r, short startAngle, short arcAngle)
  1748. ;
  1749.     IF ¨ GENERATINGCFM THEN
  1750.         _StdArc:    OPWORD    $A8BD
  1751.     ELSE
  1752.         IMPORT_CFM_FUNCTION StdArc
  1753.     ENDIF
  1754.  
  1755. ;
  1756. ; pascal void StdPoly(GrafVerb verb, PolyHandle poly)
  1757. ;
  1758.     IF ¨ GENERATINGCFM THEN
  1759.         _StdPoly:    OPWORD    $A8C5
  1760.     ELSE
  1761.         IMPORT_CFM_FUNCTION StdPoly
  1762.     ENDIF
  1763.  
  1764. ;
  1765. ; pascal void StdRgn(GrafVerb verb, RgnHandle rgn)
  1766. ;
  1767.     IF ¨ GENERATINGCFM THEN
  1768.         _StdRgn:    OPWORD    $A8D1
  1769.     ELSE
  1770.         IMPORT_CFM_FUNCTION StdRgn
  1771.     ENDIF
  1772.  
  1773. ;
  1774. ; pascal void StdBits(const BitMap *srcBits, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle maskRgn)
  1775. ;
  1776.     IF ¨ GENERATINGCFM THEN
  1777.         _StdBits:    OPWORD    $A8EB
  1778.     ELSE
  1779.         IMPORT_CFM_FUNCTION StdBits
  1780.     ENDIF
  1781.  
  1782. ;
  1783. ; pascal void StdComment(short kind, short dataSize, Handle dataHandle)
  1784. ;
  1785.     IF ¨ GENERATINGCFM THEN
  1786.         _StdComment:    OPWORD    $A8F1
  1787.     ELSE
  1788.         IMPORT_CFM_FUNCTION StdComment
  1789.     ENDIF
  1790.  
  1791. ;
  1792. ; pascal void StdGetPic(void *dataPtr, short byteCount)
  1793. ;
  1794.     IF ¨ GENERATINGCFM THEN
  1795.         _StdGetPic:    OPWORD    $A8EE
  1796.     ELSE
  1797.         IMPORT_CFM_FUNCTION StdGetPic
  1798.     ENDIF
  1799.  
  1800. ;
  1801. ; pascal void StdPutPic(const void *dataPtr, short byteCount)
  1802. ;
  1803.     IF ¨ GENERATINGCFM THEN
  1804.         _StdPutPic:    OPWORD    $A8F0
  1805.     ELSE
  1806.         IMPORT_CFM_FUNCTION StdPutPic
  1807.     ENDIF
  1808.  
  1809. ;
  1810. ; pascal void StdOpcode(const Rect *fromRect, const Rect *toRect, UInt16 opcode, SInt16 version)
  1811. ;
  1812.     IF ¨ GENERATINGCFM THEN
  1813.         _StdOpcode:    OPWORD    $ABF8
  1814.     ELSE
  1815.         IMPORT_CFM_FUNCTION StdOpcode
  1816.     ENDIF
  1817.  
  1818. ;
  1819. ; pascal void AddPt(Point src, Point *dst)
  1820. ;
  1821.     IF ¨ GENERATINGCFM THEN
  1822.         _AddPt:    OPWORD    $A87E
  1823.     ELSE
  1824.         IMPORT_CFM_FUNCTION AddPt
  1825.     ENDIF
  1826.  
  1827. ;
  1828. ; pascal Boolean EqualPt(Point pt1, Point pt2)
  1829. ;
  1830.     IF ¨ GENERATINGCFM THEN
  1831.         _EqualPt:    OPWORD    $A881
  1832.     ELSE
  1833.         IMPORT_CFM_FUNCTION EqualPt
  1834.     ENDIF
  1835.  
  1836. ;
  1837. ; pascal Boolean PtInRect(Point pt, const Rect *r)
  1838. ;
  1839.     IF ¨ GENERATINGCFM THEN
  1840.         _PtInRect:    OPWORD    $A8AD
  1841.     ELSE
  1842.         IMPORT_CFM_FUNCTION PtInRect
  1843.     ENDIF
  1844.  
  1845. ;
  1846. ; pascal void Pt2Rect(Point pt1, Point pt2, Rect *dstRect)
  1847. ;
  1848.     IF ¨ GENERATINGCFM THEN
  1849.         _Pt2Rect:    OPWORD    $A8AC
  1850.     ELSE
  1851.         IMPORT_CFM_FUNCTION Pt2Rect
  1852.     ENDIF
  1853.  
  1854. ;
  1855. ; pascal void PtToAngle(const Rect *r, Point pt, short *angle)
  1856. ;
  1857.     IF ¨ GENERATINGCFM THEN
  1858.         _PtToAngle:    OPWORD    $A8C3
  1859.     ELSE
  1860.         IMPORT_CFM_FUNCTION PtToAngle
  1861.     ENDIF
  1862.  
  1863. ;
  1864. ; pascal void SubPt(Point src, Point *dst)
  1865. ;
  1866.     IF ¨ GENERATINGCFM THEN
  1867.         _SubPt:    OPWORD    $A87F
  1868.     ELSE
  1869.         IMPORT_CFM_FUNCTION SubPt
  1870.     ENDIF
  1871.  
  1872. ;
  1873. ; pascal Boolean PtInRgn(Point pt, RgnHandle rgn)
  1874. ;
  1875.     IF ¨ GENERATINGCFM THEN
  1876.         _PtInRgn:    OPWORD    $A8E8
  1877.     ELSE
  1878.         IMPORT_CFM_FUNCTION PtInRgn
  1879.     ENDIF
  1880.  
  1881. ;
  1882. ; pascal void StdLine(Point newPt)
  1883. ;
  1884.     IF ¨ GENERATINGCFM THEN
  1885.         _StdLine:    OPWORD    $A890
  1886.     ELSE
  1887.         IMPORT_CFM_FUNCTION StdLine
  1888.     ENDIF
  1889.  
  1890. ;
  1891. ; pascal void OpenCPort(CGrafPtr port)
  1892. ;
  1893.     IF ¨ GENERATINGCFM THEN
  1894.         _OpenCPort:    OPWORD    $AA00
  1895.     ELSE
  1896.         IMPORT_CFM_FUNCTION OpenCPort
  1897.     ENDIF
  1898.  
  1899. ;
  1900. ; pascal void InitCPort(CGrafPtr port)
  1901. ;
  1902.     IF ¨ GENERATINGCFM THEN
  1903.         _InitCPort:    OPWORD    $AA01
  1904.     ELSE
  1905.         IMPORT_CFM_FUNCTION InitCPort
  1906.     ENDIF
  1907.  
  1908. ;
  1909. ; pascal void CloseCPort(CGrafPtr port)
  1910. ;
  1911.     IF ¨ GENERATINGCFM THEN
  1912.         _CloseCPort:    OPWORD    $AA02
  1913.     ELSE
  1914.         IMPORT_CFM_FUNCTION CloseCPort
  1915.     ENDIF
  1916.  
  1917. ;
  1918. ; pascal PixMapHandle NewPixMap(void )
  1919. ;
  1920.     IF ¨ GENERATINGCFM THEN
  1921.         _NewPixMap:    OPWORD    $AA03
  1922.     ELSE
  1923.         IMPORT_CFM_FUNCTION NewPixMap
  1924.     ENDIF
  1925.  
  1926. ;
  1927. ; pascal void DisposePixMap(PixMapHandle pm)
  1928. ;
  1929.     IF ¨ GENERATINGCFM THEN
  1930.         _DisposePixMap:    OPWORD    $AA04
  1931.     ELSE
  1932.         IMPORT_CFM_FUNCTION DisposePixMap
  1933.     ENDIF
  1934.  
  1935. ;
  1936. ; pascal void CopyPixMap(PixMapHandle srcPM, PixMapHandle dstPM)
  1937. ;
  1938.     IF ¨ GENERATINGCFM THEN
  1939.         _CopyPixMap:    OPWORD    $AA05
  1940.     ELSE
  1941.         IMPORT_CFM_FUNCTION CopyPixMap
  1942.     ENDIF
  1943.  
  1944. ;
  1945. ; pascal PixPatHandle NewPixPat(void )
  1946. ;
  1947.     IF ¨ GENERATINGCFM THEN
  1948.         _NewPixPat:    OPWORD    $AA07
  1949.     ELSE
  1950.         IMPORT_CFM_FUNCTION NewPixPat
  1951.     ENDIF
  1952.  
  1953. ;
  1954. ; pascal void DisposePixPat(PixPatHandle pp)
  1955. ;
  1956.     IF ¨ GENERATINGCFM THEN
  1957.         _DisposePixPat:    OPWORD    $AA08
  1958.     ELSE
  1959.         IMPORT_CFM_FUNCTION DisposePixPat
  1960.     ENDIF
  1961.  
  1962. ;
  1963. ; pascal void CopyPixPat(PixPatHandle srcPP, PixPatHandle dstPP)
  1964. ;
  1965.     IF ¨ GENERATINGCFM THEN
  1966.         _CopyPixPat:    OPWORD    $AA09
  1967.     ELSE
  1968.         IMPORT_CFM_FUNCTION CopyPixPat
  1969.     ENDIF
  1970.  
  1971. ;
  1972. ; pascal void PenPixPat(PixPatHandle pp)
  1973. ;
  1974.     IF ¨ GENERATINGCFM THEN
  1975.         _PenPixPat:    OPWORD    $AA0A
  1976.     ELSE
  1977.         IMPORT_CFM_FUNCTION PenPixPat
  1978.     ENDIF
  1979.  
  1980. ;
  1981. ; pascal void BackPixPat(PixPatHandle pp)
  1982. ;
  1983.     IF ¨ GENERATINGCFM THEN
  1984.         _BackPixPat:    OPWORD    $AA0B
  1985.     ELSE
  1986.         IMPORT_CFM_FUNCTION BackPixPat
  1987.     ENDIF
  1988.  
  1989. ;
  1990. ; pascal PixPatHandle GetPixPat(short patID)
  1991. ;
  1992.     IF ¨ GENERATINGCFM THEN
  1993.         _GetPixPat:    OPWORD    $AA0C
  1994.     ELSE
  1995.         IMPORT_CFM_FUNCTION GetPixPat
  1996.     ENDIF
  1997.  
  1998. ;
  1999. ; pascal void MakeRGBPat(PixPatHandle pp, const RGBColor *myColor)
  2000. ;
  2001.     IF ¨ GENERATINGCFM THEN
  2002.         _MakeRGBPat:    OPWORD    $AA0D
  2003.     ELSE
  2004.         IMPORT_CFM_FUNCTION MakeRGBPat
  2005.     ENDIF
  2006.  
  2007. ;
  2008. ; pascal void FillCRect(const Rect *r, PixPatHandle pp)
  2009. ;
  2010.     IF ¨ GENERATINGCFM THEN
  2011.         _FillCRect:    OPWORD    $AA0E
  2012.     ELSE
  2013.         IMPORT_CFM_FUNCTION FillCRect
  2014.     ENDIF
  2015.  
  2016. ;
  2017. ; pascal void FillCOval(const Rect *r, PixPatHandle pp)
  2018. ;
  2019.     IF ¨ GENERATINGCFM THEN
  2020.         _FillCOval:    OPWORD    $AA0F
  2021.     ELSE
  2022.         IMPORT_CFM_FUNCTION FillCOval
  2023.     ENDIF
  2024.  
  2025. ;
  2026. ; pascal void FillCRoundRect(const Rect *r, short ovalWidth, short ovalHeight, PixPatHandle pp)
  2027. ;
  2028.     IF ¨ GENERATINGCFM THEN
  2029.         _FillCRoundRect:    OPWORD    $AA10
  2030.     ELSE
  2031.         IMPORT_CFM_FUNCTION FillCRoundRect
  2032.     ENDIF
  2033.  
  2034. ;
  2035. ; pascal void FillCArc(const Rect *r, short startAngle, short arcAngle, PixPatHandle pp)
  2036. ;
  2037.     IF ¨ GENERATINGCFM THEN
  2038.         _FillCArc:    OPWORD    $AA11
  2039.     ELSE
  2040.         IMPORT_CFM_FUNCTION FillCArc
  2041.     ENDIF
  2042.  
  2043. ;
  2044. ; pascal void FillCRgn(RgnHandle rgn, PixPatHandle pp)
  2045. ;
  2046.     IF ¨ GENERATINGCFM THEN
  2047.         _FillCRgn:    OPWORD    $AA12
  2048.     ELSE
  2049.         IMPORT_CFM_FUNCTION FillCRgn
  2050.     ENDIF
  2051.  
  2052. ;
  2053. ; pascal void FillCPoly(PolyHandle poly, PixPatHandle pp)
  2054. ;
  2055.     IF ¨ GENERATINGCFM THEN
  2056.         _FillCPoly:    OPWORD    $AA13
  2057.     ELSE
  2058.         IMPORT_CFM_FUNCTION FillCPoly
  2059.     ENDIF
  2060.  
  2061. ;
  2062. ; pascal void RGBForeColor(const RGBColor *color)
  2063. ;
  2064.     IF ¨ GENERATINGCFM THEN
  2065.         _RGBForeColor:    OPWORD    $AA14
  2066.     ELSE
  2067.         IMPORT_CFM_FUNCTION RGBForeColor
  2068.     ENDIF
  2069.  
  2070. ;
  2071. ; pascal void RGBBackColor(const RGBColor *color)
  2072. ;
  2073.     IF ¨ GENERATINGCFM THEN
  2074.         _RGBBackColor:    OPWORD    $AA15
  2075.     ELSE
  2076.         IMPORT_CFM_FUNCTION RGBBackColor
  2077.     ENDIF
  2078.  
  2079. ;
  2080. ; pascal void SetCPixel(short h, short v, const RGBColor *cPix)
  2081. ;
  2082.     IF ¨ GENERATINGCFM THEN
  2083.         _SetCPixel:    OPWORD    $AA16
  2084.     ELSE
  2085.         IMPORT_CFM_FUNCTION SetCPixel
  2086.     ENDIF
  2087.  
  2088. ;
  2089. ; pascal void SetPortPix(PixMapHandle pm)
  2090. ;
  2091.     IF ¨ GENERATINGCFM THEN
  2092.         _SetPortPix:    OPWORD    $AA06
  2093.     ELSE
  2094.         IMPORT_CFM_FUNCTION SetPortPix
  2095.     ENDIF
  2096.  
  2097. ;
  2098. ; pascal void GetCPixel(short h, short v, RGBColor *cPix)
  2099. ;
  2100.     IF ¨ GENERATINGCFM THEN
  2101.         _GetCPixel:    OPWORD    $AA17
  2102.     ELSE
  2103.         IMPORT_CFM_FUNCTION GetCPixel
  2104.     ENDIF
  2105.  
  2106. ;
  2107. ; pascal void GetForeColor(RGBColor *color)
  2108. ;
  2109.     IF ¨ GENERATINGCFM THEN
  2110.         _GetForeColor:    OPWORD    $AA19
  2111.     ELSE
  2112.         IMPORT_CFM_FUNCTION GetForeColor
  2113.     ENDIF
  2114.  
  2115. ;
  2116. ; pascal void GetBackColor(RGBColor *color)
  2117. ;
  2118.     IF ¨ GENERATINGCFM THEN
  2119.         _GetBackColor:    OPWORD    $AA1A
  2120.     ELSE
  2121.         IMPORT_CFM_FUNCTION GetBackColor
  2122.     ENDIF
  2123.  
  2124. ;
  2125. ; pascal void SeedCFill(const BitMap *srcBits, const BitMap *dstBits, const Rect *srcRect, const Rect *dstRect, short seedH, short seedV, ColorSearchUPP matchProc, long matchData)
  2126. ;
  2127.     IF ¨ GENERATINGCFM THEN
  2128.         _SeedCFill:    OPWORD    $AA50
  2129.     ELSE
  2130.         IMPORT_CFM_FUNCTION SeedCFill
  2131.     ENDIF
  2132.  
  2133. ;
  2134. ; pascal void CalcCMask(const BitMap *srcBits, const BitMap *dstBits, const Rect *srcRect, const Rect *dstRect, const RGBColor *seedRGB, ColorSearchUPP matchProc, long matchData)
  2135. ;
  2136.     IF ¨ GENERATINGCFM THEN
  2137.         _CalcCMask:    OPWORD    $AA4F
  2138.     ELSE
  2139.         IMPORT_CFM_FUNCTION CalcCMask
  2140.     ENDIF
  2141.  
  2142. ;
  2143. ; pascal PicHandle OpenCPicture(const OpenCPicParams *newHeader)
  2144. ;
  2145.     IF ¨ GENERATINGCFM THEN
  2146.         _OpenCPicture:    OPWORD    $AA20
  2147.     ELSE
  2148.         IMPORT_CFM_FUNCTION OpenCPicture
  2149.     ENDIF
  2150.  
  2151. ;
  2152. ; pascal void OpColor(const RGBColor *color)
  2153. ;
  2154.     IF ¨ GENERATINGCFM THEN
  2155.         _OpColor:    OPWORD    $AA21
  2156.     ELSE
  2157.         IMPORT_CFM_FUNCTION OpColor
  2158.     ENDIF
  2159.  
  2160. ;
  2161. ; pascal void HiliteColor(const RGBColor *color)
  2162. ;
  2163.     IF ¨ GENERATINGCFM THEN
  2164.         _HiliteColor:    OPWORD    $AA22
  2165.     ELSE
  2166.         IMPORT_CFM_FUNCTION HiliteColor
  2167.     ENDIF
  2168.  
  2169. ;
  2170. ; pascal void DisposeCTable(CTabHandle cTable)
  2171. ;
  2172.     IF ¨ GENERATINGCFM THEN
  2173.         _DisposeCTable:    OPWORD    $AA24
  2174.     ELSE
  2175.         IMPORT_CFM_FUNCTION DisposeCTable
  2176.     ENDIF
  2177.  
  2178. ;
  2179. ; pascal CTabHandle GetCTable(short ctID)
  2180. ;
  2181.     IF ¨ GENERATINGCFM THEN
  2182.         _GetCTable:    OPWORD    $AA18
  2183.     ELSE
  2184.         IMPORT_CFM_FUNCTION GetCTable
  2185.     ENDIF
  2186.  
  2187. ;
  2188. ; pascal CCrsrHandle GetCCursor(short crsrID)
  2189. ;
  2190.     IF ¨ GENERATINGCFM THEN
  2191.         _GetCCursor:    OPWORD    $AA1B
  2192.     ELSE
  2193.         IMPORT_CFM_FUNCTION GetCCursor
  2194.     ENDIF
  2195.  
  2196. ;
  2197. ; pascal void SetCCursor(CCrsrHandle cCrsr)
  2198. ;
  2199.     IF ¨ GENERATINGCFM THEN
  2200.         _SetCCursor:    OPWORD    $AA1C
  2201.     ELSE
  2202.         IMPORT_CFM_FUNCTION SetCCursor
  2203.     ENDIF
  2204.  
  2205. ;
  2206. ; pascal void AllocCursor(void )
  2207. ;
  2208.     IF ¨ GENERATINGCFM THEN
  2209.         _AllocCursor:    OPWORD    $AA1D
  2210.     ELSE
  2211.         IMPORT_CFM_FUNCTION AllocCursor
  2212.     ENDIF
  2213.  
  2214. ;
  2215. ; pascal void DisposeCCursor(CCrsrHandle cCrsr)
  2216. ;
  2217.     IF ¨ GENERATINGCFM THEN
  2218.         _DisposeCCursor:    OPWORD    $AA26
  2219.     ELSE
  2220.         IMPORT_CFM_FUNCTION DisposeCCursor
  2221.     ENDIF
  2222.  
  2223.     IF OLDROUTINELOCATIONS THEN
  2224. ;
  2225. ; pascal CIconHandle GetCIcon(short iconID)
  2226. ;
  2227.     IF ¨ GENERATINGCFM THEN
  2228.         _GetCIcon:    OPWORD    $AA1E
  2229.     ELSE
  2230.         IMPORT_CFM_FUNCTION GetCIcon
  2231.     ENDIF
  2232.  
  2233. ;
  2234. ; pascal void PlotCIcon(const Rect *theRect, CIconHandle theIcon)
  2235. ;
  2236.     IF ¨ GENERATINGCFM THEN
  2237.         _PlotCIcon:    OPWORD    $AA1F
  2238.     ELSE
  2239.         IMPORT_CFM_FUNCTION PlotCIcon
  2240.     ENDIF
  2241.  
  2242. ;
  2243. ; pascal void DisposeCIcon(CIconHandle theIcon)
  2244. ;
  2245.     IF ¨ GENERATINGCFM THEN
  2246.         _DisposeCIcon:    OPWORD    $AA25
  2247.     ELSE
  2248.         IMPORT_CFM_FUNCTION DisposeCIcon
  2249.     ENDIF
  2250.  
  2251.     ENDIF
  2252. ;
  2253. ; pascal void SetStdCProcs(CQDProcs *procs)
  2254. ;
  2255.     IF ¨ GENERATINGCFM THEN
  2256.         _SetStdCProcs:    OPWORD    $AA4E
  2257.     ELSE
  2258.         IMPORT_CFM_FUNCTION SetStdCProcs
  2259.     ENDIF
  2260.  
  2261. ;
  2262. ; pascal GDHandle GetMaxDevice(const Rect *globalRect)
  2263. ;
  2264.     IF ¨ GENERATINGCFM THEN
  2265.         _GetMaxDevice:    OPWORD    $AA27
  2266.     ELSE
  2267.         IMPORT_CFM_FUNCTION GetMaxDevice
  2268.     ENDIF
  2269.  
  2270. ;
  2271. ; pascal long GetCTSeed(void )
  2272. ;
  2273.     IF ¨ GENERATINGCFM THEN
  2274.         _GetCTSeed:    OPWORD    $AA28
  2275.     ELSE
  2276.         IMPORT_CFM_FUNCTION GetCTSeed
  2277.     ENDIF
  2278.  
  2279. ;
  2280. ; pascal GDHandle GetDeviceList(void )
  2281. ;
  2282.     IF ¨ GENERATINGCFM THEN
  2283.         _GetDeviceList:    OPWORD    $AA29
  2284.     ELSE
  2285.         IMPORT_CFM_FUNCTION GetDeviceList
  2286.     ENDIF
  2287.  
  2288. ;
  2289. ; pascal GDHandle GetMainDevice(void )
  2290. ;
  2291.     IF ¨ GENERATINGCFM THEN
  2292.         _GetMainDevice:    OPWORD    $AA2A
  2293.     ELSE
  2294.         IMPORT_CFM_FUNCTION GetMainDevice
  2295.     ENDIF
  2296.  
  2297. ;
  2298. ; pascal GDHandle GetNextDevice(GDHandle curDevice)
  2299. ;
  2300.     IF ¨ GENERATINGCFM THEN
  2301.         _GetNextDevice:    OPWORD    $AA2B
  2302.     ELSE
  2303.         IMPORT_CFM_FUNCTION GetNextDevice
  2304.     ENDIF
  2305.  
  2306. ;
  2307. ; pascal Boolean TestDeviceAttribute(GDHandle gdh, short attribute)
  2308. ;
  2309.     IF ¨ GENERATINGCFM THEN
  2310.         _TestDeviceAttribute:    OPWORD    $AA2C
  2311.     ELSE
  2312.         IMPORT_CFM_FUNCTION TestDeviceAttribute
  2313.     ENDIF
  2314.  
  2315. ;
  2316. ; pascal void SetDeviceAttribute(GDHandle gdh, short attribute, Boolean value)
  2317. ;
  2318.     IF ¨ GENERATINGCFM THEN
  2319.         _SetDeviceAttribute:    OPWORD    $AA2D
  2320.     ELSE
  2321.         IMPORT_CFM_FUNCTION SetDeviceAttribute
  2322.     ENDIF
  2323.  
  2324. ;
  2325. ; pascal void InitGDevice(short qdRefNum, long mode, GDHandle gdh)
  2326. ;
  2327.     IF ¨ GENERATINGCFM THEN
  2328.         _InitGDevice:    OPWORD    $AA2E
  2329.     ELSE
  2330.         IMPORT_CFM_FUNCTION InitGDevice
  2331.     ENDIF
  2332.  
  2333. ;
  2334. ; pascal GDHandle NewGDevice(short refNum, long mode)
  2335. ;
  2336.     IF ¨ GENERATINGCFM THEN
  2337.         _NewGDevice:    OPWORD    $AA2F
  2338.     ELSE
  2339.         IMPORT_CFM_FUNCTION NewGDevice
  2340.     ENDIF
  2341.  
  2342. ;
  2343. ; pascal void DisposeGDevice(GDHandle gdh)
  2344. ;
  2345.     IF ¨ GENERATINGCFM THEN
  2346.         _DisposeGDevice:    OPWORD    $AA30
  2347.     ELSE
  2348.         IMPORT_CFM_FUNCTION DisposeGDevice
  2349.     ENDIF
  2350.  
  2351. ;
  2352. ; pascal void SetGDevice(GDHandle gd)
  2353. ;
  2354.     IF ¨ GENERATINGCFM THEN
  2355.         _SetGDevice:    OPWORD    $AA31
  2356.     ELSE
  2357.         IMPORT_CFM_FUNCTION SetGDevice
  2358.     ENDIF
  2359.  
  2360. ;
  2361. ; pascal GDHandle GetGDevice(void )
  2362. ;
  2363.     IF ¨ GENERATINGCFM THEN
  2364.         _GetGDevice:    OPWORD    $AA32
  2365.     ELSE
  2366.         IMPORT_CFM_FUNCTION GetGDevice
  2367.     ENDIF
  2368.  
  2369. ;
  2370. ; pascal long Color2Index(const RGBColor *myColor)
  2371. ;
  2372.     IF ¨ GENERATINGCFM THEN
  2373.         _Color2Index:    OPWORD    $AA33
  2374.     ELSE
  2375.         IMPORT_CFM_FUNCTION Color2Index
  2376.     ENDIF
  2377.  
  2378. ;
  2379. ; pascal void Index2Color(long index, RGBColor *aColor)
  2380. ;
  2381.     IF ¨ GENERATINGCFM THEN
  2382.         _Index2Color:    OPWORD    $AA34
  2383.     ELSE
  2384.         IMPORT_CFM_FUNCTION Index2Color
  2385.     ENDIF
  2386.  
  2387. ;
  2388. ; pascal void InvertColor(RGBColor *myColor)
  2389. ;
  2390.     IF ¨ GENERATINGCFM THEN
  2391.         _InvertColor:    OPWORD    $AA35
  2392.     ELSE
  2393.         IMPORT_CFM_FUNCTION InvertColor
  2394.     ENDIF
  2395.  
  2396. ;
  2397. ; pascal Boolean RealColor(const RGBColor *color)
  2398. ;
  2399.     IF ¨ GENERATINGCFM THEN
  2400.         _RealColor:    OPWORD    $AA36
  2401.     ELSE
  2402.         IMPORT_CFM_FUNCTION RealColor
  2403.     ENDIF
  2404.  
  2405. ;
  2406. ; pascal void GetSubTable(CTabHandle myColors, short iTabRes, CTabHandle targetTbl)
  2407. ;
  2408.     IF ¨ GENERATINGCFM THEN
  2409.         _GetSubTable:    OPWORD    $AA37
  2410.     ELSE
  2411.         IMPORT_CFM_FUNCTION GetSubTable
  2412.     ENDIF
  2413.  
  2414. ;
  2415. ; pascal void MakeITable(CTabHandle cTabH, ITabHandle iTabH, short res)
  2416. ;
  2417.     IF ¨ GENERATINGCFM THEN
  2418.         _MakeITable:    OPWORD    $AA39
  2419.     ELSE
  2420.         IMPORT_CFM_FUNCTION MakeITable
  2421.     ENDIF
  2422.  
  2423. ;
  2424. ; pascal void AddSearch(ColorSearchUPP searchProc)
  2425. ;
  2426.     IF ¨ GENERATINGCFM THEN
  2427.         _AddSearch:    OPWORD    $AA3A
  2428.     ELSE
  2429.         IMPORT_CFM_FUNCTION AddSearch
  2430.     ENDIF
  2431.  
  2432. ;
  2433. ; pascal void AddComp(ColorComplementUPP compProc)
  2434. ;
  2435.     IF ¨ GENERATINGCFM THEN
  2436.         _AddComp:    OPWORD    $AA3B
  2437.     ELSE
  2438.         IMPORT_CFM_FUNCTION AddComp
  2439.     ENDIF
  2440.  
  2441. ;
  2442. ; pascal void DelSearch(ColorSearchUPP searchProc)
  2443. ;
  2444.     IF ¨ GENERATINGCFM THEN
  2445.         _DelSearch:    OPWORD    $AA4C
  2446.     ELSE
  2447.         IMPORT_CFM_FUNCTION DelSearch
  2448.     ENDIF
  2449.  
  2450. ;
  2451. ; pascal void DelComp(ColorComplementUPP compProc)
  2452. ;
  2453.     IF ¨ GENERATINGCFM THEN
  2454.         _DelComp:    OPWORD    $AA4D
  2455.     ELSE
  2456.         IMPORT_CFM_FUNCTION DelComp
  2457.     ENDIF
  2458.  
  2459. ;
  2460. ; pascal void SetClientID(short id)
  2461. ;
  2462.     IF ¨ GENERATINGCFM THEN
  2463.         _SetClientID:    OPWORD    $AA3C
  2464.     ELSE
  2465.         IMPORT_CFM_FUNCTION SetClientID
  2466.     ENDIF
  2467.  
  2468. ;
  2469. ; pascal void ProtectEntry(short index, Boolean protect)
  2470. ;
  2471.     IF ¨ GENERATINGCFM THEN
  2472.         _ProtectEntry:    OPWORD    $AA3D
  2473.     ELSE
  2474.         IMPORT_CFM_FUNCTION ProtectEntry
  2475.     ENDIF
  2476.  
  2477. ;
  2478. ; pascal void ReserveEntry(short index, Boolean reserve)
  2479. ;
  2480.     IF ¨ GENERATINGCFM THEN
  2481.         _ReserveEntry:    OPWORD    $AA3E
  2482.     ELSE
  2483.         IMPORT_CFM_FUNCTION ReserveEntry
  2484.     ENDIF
  2485.  
  2486. ;
  2487. ; pascal void SetEntries(short start, short count, CSpecArray aTable)
  2488. ;
  2489.     IF ¨ GENERATINGCFM THEN
  2490.         _SetEntries:    OPWORD    $AA3F
  2491.     ELSE
  2492.         IMPORT_CFM_FUNCTION SetEntries
  2493.     ENDIF
  2494.  
  2495. ;
  2496. ; pascal void SaveEntries(CTabHandle srcTable, CTabHandle resultTable, ReqListRec *selection)
  2497. ;
  2498.     IF ¨ GENERATINGCFM THEN
  2499.         _SaveEntries:    OPWORD    $AA49
  2500.     ELSE
  2501.         IMPORT_CFM_FUNCTION SaveEntries
  2502.     ENDIF
  2503.  
  2504. ;
  2505. ; pascal void RestoreEntries(CTabHandle srcTable, CTabHandle dstTable, ReqListRec *selection)
  2506. ;
  2507.     IF ¨ GENERATINGCFM THEN
  2508.         _RestoreEntries:    OPWORD    $AA4A
  2509.     ELSE
  2510.         IMPORT_CFM_FUNCTION RestoreEntries
  2511.     ENDIF
  2512.  
  2513. ;
  2514. ; pascal short QDError(void )
  2515. ;
  2516.     IF ¨ GENERATINGCFM THEN
  2517.         _QDError:    OPWORD    $AA40
  2518.     ELSE
  2519.         IMPORT_CFM_FUNCTION QDError
  2520.     ENDIF
  2521.  
  2522. ;
  2523. ; pascal void CopyDeepMask(const BitMap *srcBits, const BitMap *maskBits, const BitMap *dstBits, const Rect *srcRect, const Rect *maskRect, const Rect *dstRect, short mode, RgnHandle maskRgn)
  2524. ;
  2525.     IF ¨ GENERATINGCFM THEN
  2526.         _CopyDeepMask:    OPWORD    $AA51
  2527.     ELSE
  2528.         IMPORT_CFM_FUNCTION CopyDeepMask
  2529.     ENDIF
  2530.  
  2531. ;
  2532. ; pascal void DeviceLoop(RgnHandle drawingRgn, DeviceLoopDrawingUPP drawingProc, long userData, DeviceLoopFlags flags)
  2533. ;
  2534.     IF ¨ GENERATINGCFM THEN
  2535.         _DeviceLoop:    OPWORD    $ABCA
  2536.     ELSE
  2537.         IMPORT_CFM_FUNCTION DeviceLoop
  2538.     ENDIF
  2539.  
  2540.     IF FOR_SYSTEM8_COOPERATIVE THEN
  2541. ;
  2542. ; pascal void NativeDeviceLoop(RgnHandle drawingRgn, NativeDeviceLoopDrawingProcPtr drawingProc, long userData, DeviceLoopFlags flags)
  2543. ;
  2544.     IF GENERATINGCFM THEN
  2545.         IMPORT_CFM_FUNCTION NativeDeviceLoop
  2546.     ENDIF
  2547.  
  2548.     ENDIF
  2549. ;
  2550. ; pascal Ptr GetMaskTable(void )
  2551. ;
  2552.     IF ¨ GENERATINGCFM THEN
  2553.         ; returns:
  2554.         ;    Ptr             <= A0
  2555.         _GetMaskTable:    OPWORD    $A836
  2556.     ELSE
  2557.         IMPORT_CFM_FUNCTION GetMaskTable
  2558.     ENDIF
  2559.  
  2560. ;
  2561. ; pascal PatHandle GetPattern(short patternID)
  2562. ;
  2563.     IF ¨ GENERATINGCFM THEN
  2564.         _GetPattern:    OPWORD    $A9B8
  2565.     ELSE
  2566.         IMPORT_CFM_FUNCTION GetPattern
  2567.     ENDIF
  2568.  
  2569. ;
  2570. ; pascal CursHandle GetCursor(short cursorID)
  2571. ;
  2572.     IF ¨ GENERATINGCFM THEN
  2573.         _GetCursor:    OPWORD    $A9B9
  2574.     ELSE
  2575.         IMPORT_CFM_FUNCTION GetCursor
  2576.     ENDIF
  2577.  
  2578. ;
  2579. ; pascal PicHandle GetPicture(short pictureID)
  2580. ;
  2581.     IF ¨ GENERATINGCFM THEN
  2582.         _GetPicture:    OPWORD    $A9BC
  2583.     ELSE
  2584.         IMPORT_CFM_FUNCTION GetPicture
  2585.     ENDIF
  2586.  
  2587. ;
  2588. ; pascal long DeltaPoint(Point ptA, Point ptB)
  2589. ;
  2590.     IF ¨ GENERATINGCFM THEN
  2591.         _DeltaPoint:    OPWORD    $A94F
  2592.     ELSE
  2593.         IMPORT_CFM_FUNCTION DeltaPoint
  2594.     ENDIF
  2595.  
  2596. ;
  2597. ; pascal void ShieldCursor(const Rect *shieldRect, Point offsetPt)
  2598. ;
  2599.     IF ¨ GENERATINGCFM THEN
  2600.         _ShieldCursor:    OPWORD    $A855
  2601.     ELSE
  2602.         IMPORT_CFM_FUNCTION ShieldCursor
  2603.     ENDIF
  2604.  
  2605. ;
  2606. ; pascal void ScreenRes(short *scrnHRes, short *scrnVRes)
  2607. ;
  2608.     IF ¨ GENERATINGCFM THEN
  2609.         Macro
  2610.         _ScreenRes
  2611.             move.l              (sp)+,A1
  2612.             move.w              $0102,(A1)
  2613.             move.l              (sp)+,A1
  2614.             move.w              $0104,(A1)
  2615.         EndM
  2616.     ELSE
  2617.         IMPORT_CFM_FUNCTION ScreenRes
  2618.     ENDIF
  2619.  
  2620.     IF OLDROUTINENAMES THEN
  2621. ;
  2622. ; pascal void DisposPixMap(PixMapHandle pm)
  2623. ;
  2624.     IF ¨ GENERATINGCFM THEN
  2625.         _DisposPixMap:    OPWORD    $AA04
  2626.     ELSE
  2627.         IMPORT_CFM_FUNCTION DisposPixMap
  2628.     ENDIF
  2629.  
  2630. ;
  2631. ; pascal void DisposPixPat(PixPatHandle pp)
  2632. ;
  2633.     IF ¨ GENERATINGCFM THEN
  2634.         _DisposPixPat:    OPWORD    $AA08
  2635.     ELSE
  2636.         IMPORT_CFM_FUNCTION DisposPixPat
  2637.     ENDIF
  2638.  
  2639. ;
  2640. ; pascal void DisposCTable(CTabHandle cTable)
  2641. ;
  2642.     IF ¨ GENERATINGCFM THEN
  2643.         _DisposCTable:    OPWORD    $AA24
  2644.     ELSE
  2645.         IMPORT_CFM_FUNCTION DisposCTable
  2646.     ENDIF
  2647.  
  2648. ;
  2649. ; pascal void DisposCCursor(CCrsrHandle cCrsr)
  2650. ;
  2651.     IF ¨ GENERATINGCFM THEN
  2652.         _DisposCCursor:    OPWORD    $AA26
  2653.     ELSE
  2654.         IMPORT_CFM_FUNCTION DisposCCursor
  2655.     ENDIF
  2656.  
  2657.     IF OLDROUTINELOCATIONS THEN
  2658. ;
  2659. ; pascal void DisposCIcon(CIconHandle theIcon)
  2660. ;
  2661.     IF ¨ GENERATINGCFM THEN
  2662.         _DisposCIcon:    OPWORD    $AA25
  2663.     ELSE
  2664.         IMPORT_CFM_FUNCTION DisposCIcon
  2665.     ENDIF
  2666.  
  2667.     ENDIF
  2668. ;
  2669. ; pascal void DisposGDevice(GDHandle gdh)
  2670. ;
  2671.     IF ¨ GENERATINGCFM THEN
  2672.         _DisposGDevice:    OPWORD    $AA30
  2673.     ELSE
  2674.         IMPORT_CFM_FUNCTION DisposGDevice
  2675.     ENDIF
  2676.  
  2677.     IF OLDROUTINELOCATIONS THEN
  2678.     ENDIF
  2679.     ENDIF
  2680. ;
  2681. ;    From ToolUtils.i
  2682. ;
  2683. ;
  2684. ; pascal void PackBits(Ptr *srcPtr, Ptr *dstPtr, short srcBytes)
  2685. ;
  2686.     IF ¨ GENERATINGCFM THEN
  2687.         _PackBits:    OPWORD    $A8CF
  2688.     ELSE
  2689.         IMPORT_CFM_FUNCTION PackBits
  2690.     ENDIF
  2691.  
  2692. ;
  2693. ; pascal void UnpackBits(Ptr *srcPtr, Ptr *dstPtr, short dstBytes)
  2694. ;
  2695.     IF ¨ GENERATINGCFM THEN
  2696.         _UnpackBits:    OPWORD    $A8D0
  2697.     ELSE
  2698.         IMPORT_CFM_FUNCTION UnpackBits
  2699.     ENDIF
  2700.  
  2701.     ENDIF
  2702.     IF FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE THEN
  2703. ;
  2704. ;    Also from ToolUtils.i
  2705. ;
  2706. ;
  2707. ; pascal Fixed SlopeFromAngle(short angle)
  2708. ;
  2709.     IF ¨ GENERATINGCFM THEN
  2710.         _SlopeFromAngle:    OPWORD    $A8BC
  2711.     ELSE
  2712.         IMPORT_CFM_FUNCTION SlopeFromAngle
  2713.     ENDIF
  2714.  
  2715. ;
  2716. ; pascal short AngleFromSlope(Fixed slope)
  2717. ;
  2718.     IF ¨ GENERATINGCFM THEN
  2719.         _AngleFromSlope:    OPWORD    $A8C4
  2720.     ELSE
  2721.         IMPORT_CFM_FUNCTION AngleFromSlope
  2722.     ENDIF
  2723.  
  2724.     ENDIF
  2725.     ENDIF ; __QUICKDRAW__ 
  2726.  
  2727.